PHP array_filter() 函数详解
程序员文章站
2022-05-04 11:15:20
定义 array_filter 用回调函数过滤数组中的元素 描述 依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 array 数组的当前值会被包含在返回的结果数组中。 数组的键名保留不变。 如果没有提供 callback 函数, 将删 ......
定义
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 )