(PHP 4 >= 4.0.6, PHP 5, PHP 7)
array_filter — 锟矫回碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫的碉拷元
锟斤拷锟轿斤拷 array
锟斤拷锟斤拷锟叫碉拷每锟斤拷值锟斤拷锟捷碉拷
callback
锟斤拷锟斤拷锟斤拷锟斤拷锟�
callback
锟斤拷锟斤拷锟斤拷锟斤拷 true锟斤拷锟斤拷
array
锟斤拷锟斤拷牡锟角爸碉拷岜伙拷锟斤拷锟斤拷诜锟斤拷氐慕锟斤拷锟斤拷锟斤拷锟叫★拷锟斤拷锟斤拷募锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷洹�
array
要循锟斤拷锟斤拷锟斤拷锟斤拷
callback
使锟矫的回碉拷锟斤拷锟斤拷
锟斤拷锟矫伙拷锟斤拷峁� callback
锟斤拷锟斤拷锟斤拷
锟斤拷删锟斤拷 array
锟斤拷锟斤拷锟叫碉拷值为
FALSE
锟斤拷锟斤拷目锟斤拷锟斤拷锟斤拷锟斤拷息锟斤拷转锟斤拷为锟斤拷锟斤拷值锟斤拷
flag
锟斤拷锟斤拷callback
锟斤拷锟秸的诧拷锟斤拷锟斤拷式:
ARRAY_FILTER_USE_KEY
- callback
锟斤拷锟杰硷拷锟斤拷锟斤拷为锟斤拷唯一锟斤拷锟斤拷
ARRAY_FILTER_USE_BOTH
- callback
同时锟斤拷锟杰硷拷锟斤拷锟酵硷拷值
锟斤拷锟截癸拷锟剿猴拷锟斤拷锟斤拷椤�
锟芥本 | 说锟斤拷 |
---|---|
5.6.0 |
锟斤拷涌锟窖★拷牟锟斤拷锟� flag 锟斤拷锟皆硷拷锟斤拷锟斤拷
ARRAY_FILTER_USE_KEY 锟斤拷
ARRAY_FILTER_USE_BOTH 锟斤拷
|
Example #1 array_filter() 锟斤拷锟斤拷
<?php
function 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, "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 )
Example #2 锟斤拷使锟斤拷 callback
时锟斤拷array_filter()
<?php
$entry = array(
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => ''
);
print_r(array_filter($entry));
?>
锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�
Array ( [0] => foo [2] => -1 )
Example #3 锟斤拷 flag
锟斤拷堑锟� array_filter()
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];
var_dump(array_filter($arr, function($k) {
return $k == 'b';
}, ARRAY_FILTER_USE_KEY));
var_dump(array_filter($arr, function($v, $k) {
return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH));
?>
锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�
array(1) { ["b"]=> int(2) } array(2) { ["b"]=> int(2) ["d"]=> int(4) }
锟矫伙拷锟斤拷应锟节回碉拷锟斤拷锟斤拷锟斤拷锟睫革拷锟斤拷锟介本锟斤拷锟斤拷锟斤拷锟斤拷锟接o拷删锟斤拷锟斤拷元锟斤拷锟竭讹拷 array_filter() 锟斤拷锟斤拷锟斤拷锟矫碉拷锟斤拷锟斤拷锟斤拷锟� unset锟斤拷锟斤拷锟斤拷锟斤拷锟侥憋拷锟剿o拷锟剿猴拷锟斤拷锟斤拷锟斤拷为锟斤拷锟斤拷锟斤拷预锟解。