定义和用法
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 会被匹配出来.
注: 可以先去 理解二进制的 & ^ | << >> 运算.
版权归原作者 低吟~浅唱 所有, 如有侵权,请联系我们删除。