Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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_Arrays_Algorithm - Fatal编程技术网

PHP在多维数组中查找数组

PHP在多维数组中查找数组,php,arrays,algorithm,Php,Arrays,Algorithm,我想用PHP在多维数组中找到一个数组 例如: $arr = array( '1253' => array('0' => 'av/data'), '1254' => array('1' => 'celling', '2' => 'electrical'), '1255' => array('1' => 'celling', '2' => 'electrical'), ); 想要搜索 array('1' => 'cel

我想用PHP在多维数组中找到一个数组

例如:

$arr = array(

    '1253' => array('0' => 'av/data'),
    '1254' => array('1' => 'celling', '2' => 'electrical'),
    '1255' => array('1' => 'celling', '2' => 'electrical'),
);
想要搜索

array('1' => 'celling', '2' => 'electrical')
预期结果应为:

array('1254', '1255')
需要一种返回匹配索引的方法,就像lodash Javascript库中的u.findIndex一样

并且可以以数组作为指针
array\u search()
返回第一个匹配的键,
array\u keys()
将返回所有匹配的键:

$keys = array_keys($arr, array('1' => 'celling', '2' => 'electrical'));

循环主数组并将其与搜索数组进行比较

 $arr = array(

    '1253' => array('0' => 'av/data'),
    '1254' => array('1' => 'celling', '2' => 'electrical'),
    '1255' => array('1' => 'celling', '2' => 'electrical'),
);

$array_check = array('1' => 'celling', '2' => 'electrical');

foreach($arr as $key=>$val){

    if($val === $array_check){
        $new_array[]=$key;
    }
}

print_r($new_array);

这个很好用。事实上,我在寻找一些内置函数。你放弃了吗???是的,几乎:)那是什么意思?还有问题吗?事实上我已经用递归在PHP中创建了自己的方法。这就解决了我现在的问题。