array_walk_recursive
Apply a user function recursively to every member of an array
Description
true array_walk_recursive(arrayobject &$array, callable $callback, mixed $arg = null)
Passing an object as the array is allowed, and will be
treated as if it had been
cast to an array first.
Regardless of whether the function started with an array or an object, it
will not recurse into inner objects.
Parameters
-
array
-
The input array.
-
callback
-
Typically, callback takes on two parameters.
The array parameter's value being the first, and
the key/index second.
Note:
If callback needs to be working with the
actual values of the array, specify the first parameter of
callback as a
reference. Then,
any changes made to those elements will be made in the
original array itself.
-
arg
-
If the optional arg parameter is supplied,
it will be passed as the third parameter to the
callback.
Return Values
Always returns true.
Examples
Example #1 array_walk_recursive example
<?php
$sweet = array('a' => 'apple', 'b' => 'banana');
$fruits = array('sweet' => $sweet, 'sour' => 'lemon');
function test_print($item, $key)
{
echo "$key holds $item\n";
}
array_walk_recursive($fruits, 'test_print');
?>
The above example will output:
a holds apple
b holds banana
sour holds lemon
You may notice that the key 'sweet' is never displayed. Any key that holds an
array will not be passed to the function.