In_Array()和多维数组

In_Array()和多维数组

我用in_array()若要检查一个值是否存在于如下数组中,

$a = array("Mac", "NT", "Irix", "Linux");if (in_array("Irix", $a)) {
    echo "Got Irix";}//print_r($a);

但是多维数组(如下所示)呢?如何检查这个值是否存在于多个数组中?

$b = array(array("Mac", "NT"), array("Irix", "Linux"));print_r($b);

不然我就不该用in_array()当涉及多维数组时?


江户川乱折腾
浏览 2632回答 3
3回答

ITMISS

这样也行。function in_array_r($item , $array){     return preg_match('/"'.preg_quote($item, '/').'"/i' , json_encode($array));}用法:if(in_array_r($item , $array)){     // found!}

守着一只汪

如果您知道要针对哪一列进行搜索,则可以使用Array_search()和Array_Column():$userdb = Array(     (0) => Array         (             ('uid') => '100',             ('name') => 'Sandra Shush',             ('url') => 'urlof100'         ),     (1) => Array         (             ('uid') => '5465',             ('name') => 'Stefanie Mcmohn',             ('url') => 'urlof5465'         ),     (2) => Array         (             ('uid') => '40489',             ('name') => 'Michael',             ('url') => 'urlof40489'         ));if(array_search('urlof5465', array_column($userdb, 'url')) !== false) {     echo 'value is in multidim array';}else {     echo 'value is not in multidim array';}这个想法出现在PHP手册上的数组_Search()的注释部分;
打开App,查看更多内容
随时随地看视频慕课网APP