(3.0.3 - 3.0.18 only, PHP 4 >= 4.0.0)
array_walk -- Apply a user function to every member of an array
Description
int array_walk (array array, string func [, mixed
userdata])
Applies the user-defined function named by func to each element of
array. func will be passed array value as the first parameter and array
key as the second parameter. If userdata is supplied, it will be passed as the
third parameter to the user function. func must be a user-defined function, and
can't be a native PHP function. Thus, you can't use array_walk() straight with
str2lower(), you must build a user-defined function with it first, and pass this function as
argument.
Note: Instead of a function name, an array containing an object reference and a method
name can also be supplied.
If func requires more than two or three arguments, depending on
userdata, a warning will be generated each time array_walk() calls
func. These warnings may be suppressed by prepending the '@' sign to the
array_walk() call, or by using
error_reporting().
Note: If func needs to be working with the actual values of the array,
specify that the first parameter of func should be passed by reference. Then any
changes made to those elements will be made in the array itself.
Modifying the array from inside func may cause unpredictable behavior.
Note: Passing the key and userdata to func was added in 4.0.
In PHP 4 reset() needs to be called as necessary
since array_walk() does not reset the array by default.
|
Example 1. array_walk() example
$fruits = array ("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
function test_alter (∓$item1, $key, $prefix) {
$item1 = "$prefix: $item1";
}
function test_print ($item2, $key) {
echo "$key. $item2<br>\n";
}
echo "Before ...:\n";
array_walk ($fruits, 'test_print');
reset ($fruits);
array_walk ($fruits, 'test_alter', 'fruit');
echo "... and after:\n";
reset ($fruits);
array_walk ($fruits, 'test_print');
|
The printout of the program above will be:
Before ...:
d. lemon
a. orange
b. banana
c. apple
... and after:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple
|
|
See also each() and
list().
|