为了账号安全,请及时绑定邮箱和手机立即绑定

In_Array()和多维数组

In_Array()和多维数组

PHP
江户川乱折腾 2019-06-14 16:30:07
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()当涉及多维数组时?
查看完整描述

3 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

这样也行。

function in_array_r($item , $array){
    return preg_match('/"'.preg_quote($item, '/').'"/i' , json_encode($array));}

用法:

if(in_array_r($item , $array)){
    // found!}


查看完整回答
反对 回复 2019-06-14
?
守着一只汪

TA贡献1872条经验 获得超3个赞

如果您知道要针对哪一列进行搜索,则可以使用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()的注释部分;


查看完整回答
反对 回复 2019-06-14
  • 3 回答
  • 0 关注
  • 2631 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信