2011-08-18 195 views
1

我想循環通過一個子數組(這是一個多維數組的一部分),並檢查是否有一對鍵/值。如果找到這對,我想返回它所在的子數組的鍵。PHP雖然通過陣列循環

不幸的是,似乎鍵()函數不能與foreach

如何將此代碼更改爲使用循環?

如果你有更好的建議,讓我知道。

foreach ($subarray as $subkey => $subvalue) {   
    if ($subkey == 'key_value' AND $subvalue = 'value') { 
     return key($subarray); 
    } 
} 

數組鍵不是數字。這裏有一個例子:

$array['books'] = array('quantity' => 10, 'title' => 'Something') 
$array['dvds'] = array('quantity' => 30, 'title' => 'Something else') 

尋找一個「頭銜」被稱爲「東西」,該函數返回「書」,因爲那是對的子鍵/值被發現的關鍵。

感謝您的幫助。

回答

3
$array['books'] = array('quantity' => 10, 'title' => 'Something'); 
$array['dvds'] = array('quantity' => 30, 'title' => 'Something else'); 

foreach($array as $key => $value) { 
    if ($value['title'] === 'Something') { 
    return $key; 
    } 
} 
+0

如果你正在使用'return',它返回的函數在哪裏?請更新此答案,因爲它可能會混淆/誤導未來的讀者。 – mickmackusa