PHP array_walk() Function
Quick summary: The PHP array_walk() function applies a callback to each element of an array.
PHP array_walk() Syntax
array_walk(array &$array, callable $callback, mixed $arg = null): bool
PHP
PHP array_walk() Basic examples
$arr = [1,2,3];
array_walk($arr, fn(&$v) => $v *= 2);
var_dump($arr);
PHP
Output:
array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(6) }
Modifies array values in place.
PHP array_walk() Real-world usage
$data = [' a ', ' b '];
array_walk($data, fn(&$v) => $v = trim($v));
var_dump($data);
PHP
Output:
array(2) { [0]=> string(1) "a" [1]=> string(1) "b" }
Normalizes array values.
PHP array_walk() Edge cases
var_dump(array_walk([], fn($v)=>$v));
PHP
Output:
bool(true)
Returns true even when array is empty.
PHP array_walk() Common mistakes
Expecting a returned array
array_walk modifies the array directly.
Incorrect
$new = array_walk($arr, fn(&$v)=>$v*2);
Correct
array_walk($arr, fn(&$v)=>$v*2);
Do not expect a return value.
PHP array_walk() Frequently Asked Questions
What does array_walk() do?
array_walk() applies a callback to each element of an array.
Does it modify array?
Yes, if values are passed by reference.
Callback parameters?
Value and key.
Can pass extra data?
Yes, via third parameter.
Return value?
Returns true.
Use case?
Modifying array values.
Difference from array_map()?
array_map returns new array, array_walk modifies in place.
Works with associative arrays?
Yes.
Performance?
Good.
Supports nested arrays?
No, use recursive version.
Can stop iteration?
No direct break support.
Alternative?
foreach loop.