php多維數組去除空元素


在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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM