PHP在多维数组中查找数组
我想用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
$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中创建了自己的方法。这就解决了我现在的问题。