On gists
array_walk_recursive
PHP
demo.php
Raw
#
<?php
$data = array(
array('id' => 1, 'name' => 'John', 'children' => array('Alice', 'Bob')),
array('id' => 2, 'name' => 'Jane', 'children' => array('Charlie', 'David')),
);
function add_last_name(&$value, $key) {
if ($key === 'name') {
$value .= ' Doe';
}
}
array_walk_recursive($data, 'add_last_name');
print_r($data);
/*
Array
(
[0] => Array
(
[id] => 1
[name] => John Doe
[children] => Array
(
[0] => Alice Doe
[1] => Bob Doe
)
)
[1] => Array
(
[id] => 2
[name] => Jane Doe
[children] => Array
(
[0] => Charlie Doe
[1] => David Doe
)
)
)
*/