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程序设计有所帮助。

相关文章

PHP模块memcached使用指南

1.添加扩展包     php_memcache.dll 2.在PHP.INI添加     extension=php_memcache.dll 3.程序 复制代码 代码如下: <...

PHP设计模式之装饰者模式

PHP设计模式之装饰者模式

介绍 装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 思维导图   有这样一个项目,做一个餐厅订餐系统。起初的代码结构是这样的。前...

asp.net和php的区别点总结

asp.net和php哪个更好? 在.net之前,微软的是ASP。在微软的大力推广下,其看起来还是很有前途的。但现在,微软想推广asp.net,而ASP成了其障碍。所以从Windows...

php更改目录及子目录下所有的文件后缀扩展名的代码

不是很经常处理文件,所以对遍历目录还不是很熟悉,找了一下资料,自己修改一下。 让大家看看是否需要完善的 代码主要的目的是 批量更改 文件后缀 由于淘宝数据包图片类型的不同 所以要改一下适...

Windows下的PHP 5.3.x安装 Zend Guard Loader教程

从PHP5.3开始如果要支持ZendGuard加密的PHP代码,必须安装Zend Guard Loader,老的zend optimizer将不被支持。另外,Zend Guard Loa...