定义
array_filter - 用回调函数过滤数组中的元素
描述
array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) : array
依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 array 数组的当前值会被包含在返回的结果数组中。
数组的键名保留不变。
如果没有提供 callback 函数, 将删除 array 中所有等值为 FALSE 的元素。
参数 flag 决定callback接收的参数形式:ARRAY_FILTER_USE_KEY
- 接受键名作为的唯一参数ARRAY_FILTER_USE_BOTH
- 同时接受键名和键值
示例一
<?php function even($var) { // returns whether the input integer is even return(!($var & 1)); } $array = array(6, 7, 8, 9, 10, 11, 12); echo "Even:\n"; print_r(array_filter($array, "even")); ?>
将输出:
Even: Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 )
示例二
不使用回调函数
<?php $entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry)); ?>
将输出:
Array ( [0] => foo [2] => -1 )
来源:https://www.cnblogs.com/jiaoran/p/12636631.html