在php中去除数组中的空值可以使用array_filter() 这个函数 但是这个函数只能对一维数组起作用,一旦需要对多维数组去空就不行了,而且去除的空也包括(int)0,(string)0,使用起来还是有点问题!
自定义函数去除数组中的某个值 默认是空值, 一维数组和多维数组都可以使用!
下面为代码
$b=array('back'=>array('id'=>'','name'=>3),'status'=>'','content'=>array('name'=>'','id'=>array(1=>'',2=>'')));
function filter_array($arr, $values = ['', null, false, 0, '0',[]]) {
foreach ($arr as $k => $v) {
if (is_array($v) && count($v)>0) {
$arr[$k] = filter_array($v, $values);
}
foreach ($values as $value) {
if ($v === $value) {
unset($arr[$k]);
break;
}
}
}
return array_filter($arr);
}
print_r(filter_array($b));
上面都是转载别人的,我自己又加了点
转载自:http://www.cnblogs.com/phpshen/p/6027388.html