给定一个多维数组,你不一定知道结构;如何通过名称搜索密钥并更改或添加其内容?键的值可以是字符串或数组,效果应该以任何方式应用 - 我查看了array_walk_recursive,但它忽略了包含另一个数组的任何内容......
答案 0 :(得分:2)
这有用吗?
function arrayWalkFullRecursive(&$array, $callback, $userdata = NULL) {
call_user_func($callback, $value, $key, $userdata);
if(!is_array($array)) {
return false;
}
foreach($array as $key => &$value) {
arrayWalkFullRecursive($value);
}
return true;
}
arrayWalkFullRecursive($array,
create_function( // wtb PHP 5.3
'&$value, $key, $data',
'if($key == $data['key']) {
$value = $data['value'];
}'
),
array('key' => 'foo', 'value' => 'bar')
);
答案 1 :(得分:1)
PHP中的数组键是整数和字符串。您不能拥有数组数组键。所以是的,array_walk_recursive()
就是你想要的。
答案 2 :(得分:0)