Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查PHP数组中是否存储了某些内容?_Php_Search_Multidimensional Array - Fatal编程技术网

如何检查PHP数组中是否存储了某些内容?

如何检查PHP数组中是否存储了某些内容?,php,search,multidimensional-array,Php,Search,Multidimensional Array,我有一种感觉,这个问题以前一定在这个网站上被问过,但就我的一生而言,我找不到完全相同的问题 我想检查多维PHP数组中是否存在特定值。例如: Array ( [0] => Array ( [id] => 1 [publishDate] => 2013-02-22 01:51:39 [visible] => 1 ) [1] => Array ( [i

我有一种感觉,这个问题以前一定在这个网站上被问过,但就我的一生而言,我找不到完全相同的问题

我想检查多维
PHP数组中是否存在特定值。例如:

Array ( 
    [0] => 
    Array ( 
        [id] => 1 
        [publishDate] => 2013-02-22 01:51:39 
        [visible] => 1 
    ) 
    [1] => 
    Array ( 
        [id] => 4 
        [publishDate] => 2013-02-22 02:49:58 
        [visible] => 1 
    ) 
    [2] => 
    Array ( 
        [id] => 7 
        [publishDate] => 2013-02-22 02:50:21 
        [visible] => 1 
    ) 
)
id
键下是否存在“1”?(它存在于
publishDate
键和
visible
键中,但我不想检查这些字段。)

所以基本上“1”、“4”和“7”会返回TRUE。而其他一切都将返回错误

这必须是可能的,但是
array\u search
array\u key\u存在
似乎不能满足我的需要

谢谢。

老实说(依我看),您最好的选择可能是编写自己的函数

function visibleID($array, $id)
{
    foreach ($array as $entry)
    {
        if ($entry['id'] === $id)
            return true;
    }

    return false;
}

我确信如果您愿意,您是否可以编写更通用的函数(即将“visiblity”键作为func arg传递),但这取决于您。

您可以编写更通用的函数,通过扩展上述函数来检查键值对:

function visibleID($array, $id)
{
    foreach ($array as $entry)
    {
        if( is_array($entry) ) {
        array_map('visibleID',$entry); //-------------call back function 
        } else {
            if ($entry['id'] === $id)
             return true;
       }
    }

     return false;
}

//-------------此函数将适用于任何维度数组,即使是数组(同质和非同质)

类似于
$arr[0][visible]==1
?如果没有内置函数,基本上您可以编写自己的函数。为什么要检查“visible”键?举个例子?@DjangoReinhardt不知什么原因,我读到你想在帖子中检查可见性是否等于1,失败了。很高兴听到它起作用了!