2013-05-11 112 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