使用PHP检查多维数组中是否存在键值

问题描述 投票:0回答:1

我在PHP中有以下数组:

Array
(
    [Europa] => Array
        (
            [country] => France
            [capital] => Paris
        ),
        (
            [country] => Spain
            [capital] => Madrid
        )
    [Asia] => Array
        (
            [country] => Russia
            [capital] => Moscow
        )
)

如何循环进入此数组以搜索名为France的国家是否存在于Europa中?

谢谢。

php arrays
1个回答
4
投票

您可以使用array_column从多维数组中的列中提取所有数据。使用array_column检查字符串是否在数组中。

$arr = array
(
    "Europa" => array(
        array(
            "country" => 'France',
            "capital" => 'Paris',
        ),
        array(
            "country" => 'Spain',
            "capital" => 'Madrid',
        ),
    ),
    "Asia" => array(
        array(
            "country" => 'Russia',
            "capital" => 'Moscow',
        )
    )
);

$continent = "Europa";
$country = "France";

$isExist = in_array($country,array_column($arr[$continent],'country'));

这将导致

1
© www.soinside.com 2019 - 2024. All rights reserved.