2017-11-03 96 views
3

如果我訪問這樣的如何檢查特定陣列關鍵是存在於多維數組

$var = $final_Length_Array[1][0]['id']; 

指數如何檢查「標識」鍵索引是否在數組中或不存在。

我試過使用函數array_key_exists,但它似乎只適用於一維數組。

我想它像if(array_key_exists('id',$final_Length_Array)){,但它沒有工作

我也嘗試isset檢查是否有結果,或沒有,但它沒有也行if(isset($final_Length_Array[1][0]['id'])){

任何幫助,我會欣賞它

+0

請給出一個示例數組,給你的問題。 – trincot

+0

陣列就像 '[ { 「名」: 「李四」, 「年」: 「1」, 「課程」: 「藝術」 } ]' – Rami

+0

那麼你不必' [1]'。 – trincot

回答

3

超級哈克解決方案:

function array_key_exists_recursive($array, $key) { 
    return strpos(json_encode($array), "\"" . $key . "\":") !== false; 
} 

更好的解決方案:

$array = ['a' => ['b' => 'c']]; 
function array_key_exists_recursive($key, $array) { 
    if (array_key_exists($key, $array)) { 
     return true; 
    } 
    foreach($array as $k => $value) { 
     if (is_array($value) && array_key_exists_recursive($key, $value)) { 
      return true; 
     } 
    } 
    return false;    
} 

var_dump(array_key_exists_recursive('b', $array)); 
+1

超級酷,它工作正常,現在我可以檢索任何索引。 非常感謝 – Rami

相關問題