php数组过滤的方法
墨初 编程开发 685阅读
php中的数组元素过滤可以使用数组处理函数array_filter,此函数可以根据自已自定义的规则来过滤数组中的元素,下面是array_filter函数的具体用法。
php array_filter 函数
array_filter:根据自定义的规则来过滤数组中的元素,并返回处理后数组。
语法:
array array_filter(array,callable,flag)
参数:
参数 | 描述 |
---|---|
array | 必需。规定要过滤的数组。 |
callback | 可选。规定要用的回调函数。 |
flag | 可选。决定 callback 接收的参数形式: ARRAY_FILTER_USE_KEY - callback 接受键名作为的唯一参数 ARRAY_FILTER_USE_BOTH - callback 同时接受键名和键值 |
php过滤数组中的空值
例:
# https://www.73so.com $arr = array('1',2,'',null,5); print_r(array_filter($arr)); // Array ( [0] => 1 [1] => 2 [4] => 5 )
注意:array_filter函数过滤后的新组中的元素键与原有的未过滤中的元素键一样,不会被改变。
php array_filter 使用回调函数
# https://www.73so.com // 这里是回调函数 function a($var,$key) { echo 'key='.$key.' var='.$var; echo '<br/>'; } $arr = array('a','b','c','d'); print_r(array_filter($arr,'a',ARRAY_FILTER_USE_BOTH));
php过滤数据中的字母
array_filter通过回调函数判断数组中的元素是否为字母,如果为字母则过滤不返回!
// 回调函数 function aa($var){ if(is_numeric($var)){ return $var; } } $arr = array('a','b','c','1','2','3'); print_r(array_filter($arr,'aa')); // Array ( [3] => 1 [4] => 2 [5] => 3 )