2013-05-11 117 views
0

我有一个(很多)数组的数组,编码在不同的深度。问题是我知道我正在搜索的元素的关键,但不是编码的深度。因此,例如它可能是
Array ([1] => Array ([1] => Array ('abcd' => 'a'))Array ('abcd' => 'a') 那么有没有什么办法可以找到abcd的关键?通过键获取数组元素php

+0

递归循环直到找到它 – 2013-05-11 01:44:39

+0

有没有更快的方法?我有很多数组。 – 2013-05-11 01:50:55

+0

什么是“实际建模的(很多)数组”阵列?知道这将有助于其他人提出可能更适合你所要做的数据结构。 – Colin 2013-05-11 02:58:34

回答

0
function find_array_key($array,$keytofind){ 
$found=false; 
if (is_array($array)&& $found==false){ 
    foreach($array as $key=>$value){ 
     if (is_array($value)&& $found==false){ 
     find_array_key($array,$keytofind) 
     }else{ 
     if ($found==false && $key=$keytofind){ 
      $found=$value; 
     } 
     } 
    } 
    return $found; 
} 

我没有运行该代码来测试它,但它应该是相当接近一个不错的递归函数为你正在尝试做的,返回键的值,你正在寻找

0
if (array_key_exists('abcd', $search_array)) 
+0

好吧,是的,但我想找到它并在其上工作,不仅验证它是否存在 – 2013-05-11 19:47:54