A-A+

php多维数组去除空元素

2020年12月14日 PHP技术文章 暂无评论 阅读 0 views 次

在php中去除数组中的空值可以使用array_filter() 这个函数 但是这个函数只能对一维数组起作用,一旦需要对多维数组去空就不行了,而且去除的空也包括(int)0,(string)0,使用起来还是有点问题!

自定义函数去除数组中的某个值 默认是空值, 一维数组和多维数组都可以使用!

  1. /** 
  2.  * 去除多维数组中的空值 
  3.  * @author  
  4.  * @return mixed 
  5.  * @param $arr 目标数组 
  6.  * @param array $values 去除的值  默认 去除  '',null,false,0,'0',[] 
  7.  */  
  8. function filter_array($arr$values = ['', null, false, 0, '0',[]]) {  
  9.     foreach ($arr as $k => $v) {  
  10.         if (is_array($v) && count($v)>0) {  
  11.             $arr[$k] = filter_array($v$values);  
  12.         }  
  13.         foreach ($values as $value) {  
  14.             if ($v === $value) {  
  15.                 unset($arr[$k]);  
  16.                 break;  
  17.             }  
  18.         }  
  19.     }  
  20.     return $arr;  
  21. }  

如有更好的方法可以指出!

标签:

给我留言