array_walk_recursive
Description
The array_walk_recursive of Array for PHP apply a user function recursively to every member of an array.
Syntax
array_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): bool
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
Returns true on success or false on failure.
Examples
1 · array callback
<? function myfunction(&$value, $key) { return $value .= "s"; } $array = array("a" => array("orange", "lime"), "b" => "banana", "c" => "apple", "d" => "lemon"); $callback = "myfunction"; array_walk_recursive($array, $callback); print_r($array); ?>
Array ( [a] => Array ( [0] => oranges [1] => limes ) [b] => bananas [c] => apples [d] => lemons )
2 · arg
<? function myfunction(&$value, $key, $arg) { return $value = "$arg: $value" . "s"; } $array = array("a" => array("orange", "lime"), "b" => "banana", "c" => "apple", "d" => "lemon"); $callback = "myfunction"; $arg = "fruit"; array_walk_recursive($array, $callback, $arg); print_r($array); ?>
Array ( [a] => Array ( [0] => fruit: oranges [1] => fruit: limes ) [b] => fruit: bananas [c] => fruit: apples [d] => fruit: lemons )
Links
Array
- array
- array_change_key_case
- array_chunk
- array_column
- array_combine
- array_count_values
- array_diff
- array_diff_assoc
- array_diff_key
- array_diff_uassoc
- array_diff_ukey
- array_fill
- array_fill_keys
- array_filter
- array_flip
- array_intersect
- array_intersect_assoc
- array_intersect_key
- array_intersect_uassoc
- array_intersect_ukey
- array_key_exists
- array_key_first
- array_key_last
- array_keys
- array_map
- array_merge
- array_merge_recursive
- array_multisort
- array_pad
- array_pop
- array_product
- array_push
- array_rand
- array_reduce
- array_replace
- array_replace_recursive
- array_reverse
- array_search
- array_shift
- array_slice
- array_splice
- array_sum
- array_udiff
- array_udiff_assoc
- array_udiff_uassoc
- array_uintersect
- array_uintersect_assoc
- array_uintersect_uassoc
- array_unique
- array_unshift
- array_values
- array_walk
- arsort
- asort
- compact
- count
- current
- end
- extract
- in_array
- key
- key_exists
- krsort
- ksort
- list
- natcasesort
- natsort
- next
- pos
- prev
- range
- reset
- rsort
- shuffle
- sizeof
- sort
- uasort
- uksort
- usort