array_walk_recursive
Description
The array_walk_recursive of Array for PHP applies a user function recursively to every member of an array.
Syntax
array_walk_recursive( array|object &$array, callable $callback, mixed $arg = null ): true
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.
Examples
1 · array callback
<? function callback(&$value, $key) { return $value .= " pie"; } $array = [ "a" => [ "cherry", "pumpkin" ], "b" => "banana", "c" => "apple", "d" => "lemon" ]; $callback = "callback"; array_walk_recursive($array, $callback); print_r($array);
Array ( [a] => Array ( [0] => cherry pie [1] => pumpkin pie ) [b] => banana pie [c] => apple pie [d] => lemon pie )
2 · arg
<? function callback(&$value, $key, $arg) { return $value = "$arg: $value pie"; } $array = [ "a" => [ "cherry", "pumpkin" ], "b" => "banana", "c" => "apple", "d" => "lemon" ]; $callback = "callback"; $arg = "dessert"; array_walk_recursive($array, $callback, $arg); print_r($array);
Array ( [a] => Array ( [0] => dessert: cherry pie [1] => dessert: pumpkin pie ) [b] => dessert: banana pie [c] => dessert: apple pie [d] => dessert: lemon pie )
Links
Related
Array
- array
- array_all
- array_any
- 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_find
- array_find_key
- 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