array_filter依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 true,则 array 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。
<?php //案例1,使用callback函数 $array = array("a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5); function event($var) { if ($var > 3) { return $var; } } $res = array_filter($array, "event"); var_dump($res); //输出 array(2) { ["d"]=> int(4) ["e"]=> int(5) } echo "<br/>"; //案例2,不使用callback函数,除去数组中false,null,空字符串 $entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry)); //输出 Array ( [0] => foo [2] => -1 )