2011-02-24 16 views
0

我有一個多維關聯數組,我想應用array_walk_recursive,以便我可以對每個值執行一個函數。如何在PHP的array_walk_recursive函數中爲特定鍵創建異常?

但是,無論何時某個鍵被命名爲「特殊」,我想執行一個不同的功能。

因此,如果陣列是這樣的:

$array = array('a' => 'apple', 'b' => 'banana', 'special' => 'xylophone', 'c' => 'cherry'); 

然後,我想在 'A' 執行功能doThis(), 'b' 和 'c' 的,我想執行找時間做()在'特殊'上。

這可能嗎?

(注:我的例子是一個簡單的數組,但真正的代碼需要採取行動多維數組)

回答

2

你的函數會得到關鍵的第二個參數:

function foo(&$item, $key) { 
    if ($key == 'special') { 
     return doThat($item, $key); 
    } 
    return doThis($item, $key); 
} 
+0

謝謝你的。我不清楚他們的鑰匙是否也會自動傳遞。使它非常容易。代碼也是+1。 – Questioner 2011-02-24 13:40:55

相關問題