array_walk_recursive

Apply a user function recursively to every member of an array

&reftitle.description; `bool` `array_walk_recursive` ``array``object```array` `callable` `callback` `mixed` `arg`&null;

Applies the user-defined `callback` function to each element of the `array`. This function will recurse into deeper arrays.

&reftitle.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.

  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`.

&reftitle.returnvalues;

&return.success;

&reftitle.examples;

### `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');
    ?>

&example.outputs;

    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.

&reftitle.seealso;

- `array_walk`