2010-01-13 15 views
0

我具有由json_decode結果(締合設置爲true)一個巨大的數組,並具有下面的代碼來檢查是否(內,隨機序列的陣列中的一個)具有鍵「set_true」PHP:高深度數組,如何返回當前鍵名?

$out = ""; 
foreach ($array as $sub) { 
    //$out[] = $sub['set_true']; 
    if (in_array($sub['set_true'], $sub) && $sub['set_true'] == '1') { 
    $out[] = 'User: ' . $sub . ' has set_true = 1'; 
    } 
} 

即代碼列出所有使用該數組鍵的用戶,但$ sub返回'array',而不是當前鍵! (隨機串行)

如何返回?

回答

2

如果您是通過陣列foreach循環,並想知道你的循環是目前的關鍵,你可以使用這個語法:

foreach ($array as $key => $value) { 
    // $key contains the name of the current key 
    // and $value the current value 
} 
0

這是怎麼回事你in_array電話嗎?我不認爲這是正確的。你爲什麼在$sub尋找$sub

0

我想你的意思:

$out = ""; 
foreach ($array as $key => $sub) { 
    if (array_key_exists('set_true', $sub) && $sub['set_true'] == '1') { 
    $out[] = 'User: ' . $key . ' has set_true = 1'; 
    } 
}