PHP Manual
Prev |  | Next

# array_walk_recursive

(PHP 5)

array_walk_recursive -- Apply a user function recursively to every member of an array

## Description

bool array_walk_recursive ( array &input, callback funcname [, mixed userdata] )

Applies the user-defined function `funcname` to each element of the `input` array. This function will recur into deeper arrays. Typically, `funcname` takes on two parameters. The `input` parameter's value being the first, and the key/index second. If the optional `userdata` parameter is supplied, it will be passed as the third parameter to the callback `funcname`.

Returns `TRUE` on success or `FALSE` on failure.

> Note: If `funcname` needs to be working with the actual values of the array, specify the first parameter of `funcname` as a reference. Then, any changes made to those elements will be made in the original array itself.

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.

See also array_walk(), and information about the callback type.

Prev | Home | Next
array_values | Up | array_walk