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] )
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.
Parameters
input
The array to iterate over
callback
The callback function to use
If no callback
is supplied, all entries of
input
equal to FALSE (see
converting to
boolean) will be removed.
Return Values
Returns the filtered array.
Examples
Example 1. array_filter() example
<?php function odd($var) { return($var & 1); }
function even($var) { return(!($var & 1)); }
$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 )
|
|
Example 2. array_filter() without
callback
<?php
$entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' );
print_r(array_filter($entry)); ?>
|
The above example will output: Array
(
[0] => foo
[2] => -1
) |
|
Notes
Caution |
If the array is changed from the callback function (e.g. element
added, deleted or unset) the behavior of this function is undefined.
|