我有一个多维数组,例如(这可以有很多层次):
$array = Array ( [21] => Array ( ) [24] => Array ( [22] => Array ( ) [25] => Array ( [26] => Array ( ) ) ) )
我试图遍历它以查看是否存在某个键:
$keySearch = 22; // key searching for function findKey($array, $keySearch) { foreach ($array as $item){ if (isset($item[$keySearch]) && false === findKey($item[$keySearch], $item)){ echo 'yes, it exists'; } } } findKey($array, $keySearch);
但它什么也没找到。循环中有错误吗?
我玩过您的代码以使其正常工作:
function findKey($array, $keySearch) { foreach ($array as $key => $item) { if ($key == $keySearch) { echo 'yes, it exists'; return true; } elseif (is_array($item) && findKey($item, $keySearch)) { return true; } } return false; }