如何用array_walk替换嵌套数组中的值?
这是我的数组,
$item = array(
"id" => "2",
"title" => "parent 2",
"children" => array (
"id" => "4",
"title" => "children 1"
)
);
//replacement array:
$replace = [
'2' => 'foo',
'4' => 'bar',
'7' => 'baz'
];
我的工作职能,
function myfunction(&$value,$key,$replace)
{
if(isset($replace[$key]))
{
$value = $replace[$key];
}
if(is_array($key))
{
array_walk($value,"myfunction",$replace);
}
}
array_walk($item,"myfunction",$replace);
print_r($item);
结果,
Array
(
[id] => 2
[title] => parent 2
[children] => Array
(
[id] => 4
[title] => children 1
)
)
我追求的结果,
Array
(
[id] => 2
[title] => foo
[children] => Array
(
[id] => 4
[title] => bar
)
)