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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用PHP检查多维数组中是否存在键值相关的知识,希望对你有一定的参考价值。

我在php中有以下数组:

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

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

谢谢。

答案

您可以使用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

以上是关于使用PHP检查多维数组中是否存在键值的主要内容,如果未能解决你的问题,请参考以下文章

检查多维数组的任何子数组中的特定键是不是存在特定值

PHP使用字符串替换从多维数组中的键值替换关键字

使用带有 sql 的键值对搜索 php 多维关联数组,例如 '%LIKE%' 构造

检查对象数组中是不是存在具有特定键值的对象

PHP:测试多维数组中是不是存在单元格

in_array() 和多维数组