在php中去除數組中的空值可以使用array_filter() 這個函數 但是這個函數只能對一維數組起作用,一旦需要對多維數組去空就不行了,而且去除的空也包括(int)0,(string)0,使用起來還是有點問題!
自定義函數去除數組中的某個值 默認是空值, 一維數組和多維數組都可以使用!
/**
* 去除多維數組中的空值
* @author
* @return mixed
* @param $arr 目標數組
* @param array $values 去除的值 默認 去除 '',null,false,0,'0',[]
*/
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 $arr;
}
如有更好的方法可以指出!
轉載請標明出處:http://www.cnblogs.com/phpshen/p/6027388.html