php递归调用删除数组空值元素的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php递归调用删除数组空值元素的方法。分享给大家供大家参考。具体如下:

该函数可以删除数组里的所有空值元素,包含空字符串,空的数组等等。

function array_remove_empty($arr){
 $narr = array();
 while(list($key, $val) = each($arr)){
  if (is_array($val)){
   $val = array_remove_empty($val);
   // does the result array contain anything?
   if (count($val)!=0){
    // yes :-)
    $narr[$key] = $val;
   }
  }
  else {
   if (trim($val) != ""){
    $narr[$key] = $val;
   }
  }
 }
 unset($arr);
 return $narr;
}

演示范例:

复制代码 代码如下:
array_remove_empty(array(1,2,3,'',array(),4)) => returns array(1,2,3,4)

希望本文所述对大家的php程序设计有所帮助。

相关文章

如何在smarty中增加类似foreach的功能自动加载数据

在smarty中使用自定义插件来加载数据(见:编写Smarty插件在模板中直接加载数据的详细介绍),在使用的时候还是感觉不够方便,灵机一动就想写成类似foreach那种标签:第一步:在S...

分享一下贝贝成长进度的php代码

主要功能是根据贝贝的出生日期来显示贝贝现在多大了,实时显示贝贝的成长。 用当前时间减去出生的日期,但是可以显示出来几岁,几个月,和几天。 天的算法有点问题,没有考虑到大小月和2月份。 复...

php数组的一些常见操作汇总

数组求和 给定一个含有n个元素的整型数组a,求a中所有元素的和。可能您会觉得很简单,是的,的确简单,但是为什么还要说呢,原因有二,第一,这道题要求用递归法,只用一行代码。第二,这是我人生...

php基于闭包实现函数的自调用(递归)实例分析

本文实例讲述了php基于闭包实现函数的自调用(递归)的方法。分享给大家供大家参考,具体如下: php的闭包可能不常用,但是在某些场合之下还是可以考虑用php的闭包来实现某些功能的,比如递...

php使用number_format函数截取小数的方法分析

本文实例讲述了php使用number_format函数截取小数的方法。分享给大家供大家参考,具体如下: 大家知道用php的number_format()函数可以将数字按千分组. 但是它会...