首先,看php官网的说明:
array_filter 用回调函数过滤数组中的单元
(PHP 4 >= 4.0.6, PHP 5)
array_filter — Filters elements of an array using a callback function
Description
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.
<?php
function func_odd($var)
{
// returns whether the input integer is odd
return($var & 1);
}
function even($var)
{
// returns whether the input integer is even
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, "func_odd"));//回调函数
echo "Even:\n";
print_r(array_filter($array2, "even"));
?>
结果:注意数组实际下标并没有改变!
$arr = array("a","b","c","d");
去除$arr里的b值;
$arr = array("a","b","c","d");
function isHave($var){
if($var!="b") return true;
}
array_filter($arr,"isHave");