如何在PHP的array_walk_recursive函数中为特定键创建异常?

时间:2011-02-24 07:30:28

标签: php arrays function search multidimensional-array

我有一个多维关联数组,我想应用array_walk_recursive,这样我就可以对每一个值执行一个函数。

但是,每当一个键被命名为“特殊”时,我想执行一个不同的功能。

所以如果数组是这样的:

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

然后我想在'a','b'和'c'上执行函数doThis(),我想在'special'上执行doThat()。

这可能吗?

(注意:我的例子是一个简单的数组,但真正的代码需要在多维数组上运行)

1 个答案:

答案 0 :(得分:2)

你的函数作为第二个参数传递了键:

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