PHP:在多维数组中查找键位置

PHP:在多维数组中查找键位置,php,arrays,path,multidimensional-array,Php,Arrays,Path,Multidimensional Array,可能重复: 你好 我有一个多维数组。我想要一个函数,它可以找到给定数组键的位置(我所有的数组键都是字符串),然后以数组的形式返回键的位置 例如: $arr=数组 ( '水果'=>数组( 'apples'=>array(), “oranges'=>数组(), “香蕉”=>数组() ), “蔬菜”=>数组( “番茄”=>array(), “carrots'=>array(), “芹菜”=>array(), “beets”=>数组 ( '熊'=>数组(), “太空堡垒卡拉狄加”=>阵列() ), )

可能重复:

你好

我有一个多维数组。我想要一个函数,它可以找到给定数组键的位置(我所有的数组键都是字符串),然后以数组的形式返回键的位置

例如:

$arr=数组 ( '水果'=>数组( 'apples'=>array(), “oranges'=>数组(), “香蕉”=>数组() ), “蔬菜”=>数组( “番茄”=>array(), “carrots'=>array(), “芹菜”=>array(), “beets”=>数组 ( '熊'=>数组(), “太空堡垒卡拉狄加”=>阵列() ), ), 'meat'=>array(), '其他'=>数组() ); 现在如果我这样调用函数:

theFunction('bears'); 函数(‘bears’); 它应返回:

array(1, 3, 0);
数组(1,3,0);认真地两天前我给了你一个确切的答案。请参阅函数
getPosition
。本例中预期的功能是什么$arr=array('bears'=>array('bears'=>array('bears'=>5))?确实是这样,但是对于更深层的多维数组,不管出于什么原因,函数都不能正常工作。下面的功能有效。谢谢,有效!但是,是否可以只使用$subkey字符串作为参数,并且始终使用相同的数组?似乎无法让它工作。。。 array(1, 3, 0);
function array_tree_search_key($a, $subkey) {
   foreach (array_keys($a) as $i=>$k) {
      if ($k == $subkey) {
         return array($i);
      }
      elseif ($pos = array_tree_search_key($a[$k], $subkey)) {
         return array_merge(array($i), $pos);
      }
   }
}