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

时间:2019-04-14 14:29:07

标签: php arrays

我在PHP中具有以下数组:

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

我如何循环到此数组中来搜索在欧罗巴存在一个名为法国的国家?

谢谢。

1 个答案:

答案 0 :(得分: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