Define and use the Array_walk () function to apply a callback function to each element in the array.
Returns TRUE if successful, otherwise FALSE. Typically, a function accepts two parameters. The value of the array parameter as the first, the key name as the second.
If an optional parameter userdata is provided, it is passed as the third argument to the callback function. If the function requires more arguments than is given, a e_warning-level error is generated each time Array_walk () invokes the function.
These warnings can be suppressed by adding the PHP error operator @ before the Array_walk () call, or by using error_reporting (). Grammar Array_walk (Array,function,userdata ...) Parameter description array required. Specifies the array. function Required. The name of the user-defined function. UserData is optional. The value entered by the user, which can be used as a parameter to the callback function. Hints and comments Tip: You can set one or more parameters for a function. Note: If the callback function needs to directly act on the values in the array, you can specify the first parameter of the callback function as a reference to the:& $value. (see example 3) Note: Passing the key name and UserData to the function is a new addition to PHP 4.0.
Example 1
function MyFunction ($value, $key) {
echo "The key $key has the value $value
";
}
$a = Array ("A" = "Cat", "b" = "Dog", "c" = "Horse");
Array_walk ($a, "myfunction");
Output:
The key A has the value Cat
The key B has the value Dog
The key C has the value Horse
Example 2
With one parameter:
function MyFunction ($value, $key, $p) {
echo "$key $p $value
";
}
$a = Array ("A" = "Cat", "b" = "Dog", "c" = "Horse");
Array_walk ($a, "myfunction", "has the value");
?>
Output:
A has the value Cat
B has the value Dog
C has the value Horse
Example 3
Change the value of the array element (Note & $value): (this case is more!) )
Function MyFunction (& $value, $key) {
$value = "Bird";
}
$a = Array ("A" = "Cat", "b" = "Dog", "c" = "Horse");
Array_walk ($a, "myfunction");
Print_r ($a);
Output:
Array ([A] = Bird [b] = Bird [c] = Bird)