在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