PHP 手冊
上一頁 |  | 下一頁

# 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.

示範 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 printout of the program above will be:
`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.

示範 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().

上一頁 | 最開頭 | 下一頁
array_fill | 上一層 | array_flip