我有一个多维关联数组,我想应用array_walk_recursive,这样我就可以对每一个值执行一个函数。
但是,每当一个键被命名为“特殊”时,我想执行一个不同的功能。
所以如果数组是这样的:
$array = array('a' => 'apple', 'b' => 'banana', 'special' => 'xylophone', 'c' => 'cherry');
然后我想在'a','b'和'c'上执行函数doThis(),我想在'special'上执行doThat()。
这可能吗?
(注意:我的例子是一个简单的数组,但真正的代码需要在多维数组上运行)
答案 0 :(得分:2)
你的函数作为第二个参数传递了键:
function foo(&$item, $key) {
if ($key == 'special') {
return doThat($item, $key);
}
return doThis($item, $key);
}