zl程序教程

您现在的位置是:首页 >  其他

当前栏目

PHP中的,array_filter()函数

2023-04-18 14:15:01 时间

定义和用法

array_filter() 函数用回调函数过滤数组中的元素。

该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。


语法

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )

参数描述
array必需。规定要过滤的数组。
callback可选。规定要用的回调函数。
flag

可选。决定 callback 接收的参数形式:

  • ARRAY_FILTER_USE_KEY - callback 接受键名作为的唯一参数
  • ARRAY_FILTER_USE_BOTH - callback 同时接受键名和键值

案例:

<?

        function test_odd($var){

        return($var & 1);

        }

        $a1 = array("a","b",2,3,4);

        print_r(array_filter($a1,"test_odd"));

?>

 

& 是二进制 按位与 的意思 1=0000 0001 ;
则将每一个值进行二进制转换, 末位 1和1匹配 则返回真, (1匹配的结果为 奇数).
如果使用 2 = 0000 0010;
则 倒数第二位 为1 会被匹配出来.
注: 可以先去 理解二进制的 & ^ | << >> 运算.