array_filter
(PHP 4 >= 4.0.6)
array_filter --
用回调函数过滤数组中的单元
说明
array
array_filter ( array input [, callback function])
array_filter() 返回一个数组,该数组包含了 input
数组经过回调函数过滤后的所有单元。如果 input 是一个结合数组,则键名保留。
例子 1. array_filter() 例子 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")); |
以上程序的输出为:
Odd :
Array
(
[a] => 1
[c] => 3
[e] => 5
)
Even:
Array
(
[0] => 6
[2] => 8
[4] => 10
[6] => 12
) |
|
用户不应在回调函数中修改数组本身。例如增加/删除单元或者对
array_filter() 正在作用的数组进行 unset。如果数组改变了,此函数的行为没有定义。
参见 array_map() 和 array_reduce()。