PHP过滤多维数组中的空值
⼀维数组直接⽤ array_filter() 函数就好了
定义和⽤法
array_filter() 函数⽤回调函数过滤数组中的值。
该函数把输⼊数组中的每个键值传给回调函数。如果回调函数返回 true,则把输⼊数组中的当前键值返回结果数组中。数组键名保持不变。
语法
array_filter(array,callbackfunction);
// ⽰例
$arr=['a','b','','d'];
print_r(array_filter($arr));
// 输出结果
// Array ( [0] => a [1] => b [3] => d )
参数
array
要循环的数组
callback
使⽤的回调函数
如果没有提供 callback 函数, 将删除 array 中所有等值为 FALSE 的条⽬。更多信息见转换为布尔值。
flag
决定callback接收的参数形式:
ARRAY_FILTER_USE_KEY - callback接受键名作为的唯⼀参数
ARRAY_FILTER_USE_BOTH - callback同时接受键名和键值
返回值
filter过滤对象数组
返回过滤后的数组。
下⾯是过滤多维数组中的空值
/**
* array_filter_recursive 清除多维数组⾥⾯的空值
* @param array $array
* @return array
* @author  liuml
* @DateTime 2018/12/3  11:27
*/
function array_filter_recursive(array&$arr)
{
if(count($arr)<1){
return[];
}
foreach($arr as$k=>$v){
if(is_array($v)){
$arr[$k]=array_filter_recursive($v);
}
if(is_null($arr[$k])&&$arr[$k]==''){
unset($arr[$k]);
}
}
return$arr;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。