array_filter
(PHP 4 >= 4.0.6, PHP 5)
array_filter --
Filters elements of an array using a callback function
Description
array
array_filter ( array input [, callback callback])
array_filter() iterates over each value in
the input array passing them to the
callback function. If the
callback function returns true, the current
value from input is returned into the
result array. Array keys are preserved.
Example 1. array_filter() example
<?php function odd($var) { return($var % 2 == 1); }
function even($var) { return($var % 2 == 0); }
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5); $array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Odd :\n"; print_r(array_filter($array1, "odd")); echo "Even:\n"; print_r(array_filter($array2, "even")); ?>
|
The above example will output:
Odd : Array ( [a] => 1 [c] => 3 [e] => 5 ) Even: Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 )
|
|
Users may not change the array itself from the callback
function. e.g. Add/delete an element, unset the array that
array_filter() is applied to. If the array
is changed, the behavior of this function is undefined.
If the callback function is not supplied,
array_filter() will remove all the entries of
input that are equal to FALSE. See converting to boolean
for more information.
Example 2. array_filter() without
callback
<?php
$entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' );
print_r(array_filter($entry)); ?>
|
This will output :
Array
(
[0] => foo
[2] => -1
) |
|
See also array_map(),
array_reduce(), and array_walk().