php数组过滤的方法
墨初 编程开发 1224阅读
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 )