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简单数据库操作类实例【支持增删改查及链式操作】

本文实例讲述了PHP简单数据库操作类。分享给大家供大家参考,具体如下: 在进行项目开发时,数据库是必不可少的东西了。但是很多时候却又对数据库SQL语句的繁杂而感到头疼。提供一个我自己使用...

php 上一篇,下一篇文章实现代码与原理说明

实现原理: 就是对id对进行order by id desc 或 order by id asc进行排序,然后再判断比当前id> or小于当前文章id的相同栏目的文章。 实例的sq...

PHPStrom中实用的功能和快捷键大全

有哪些快捷键或者PHPStrom出的特有的功能,让你觉得编写过程变得很舒服和快捷? CTRL + j 能够快捷的输入常用的代码片段,类似vim的 snipMate,可以加入自定义代码片段...

PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)

本文实例讲述了PHP面向对象程序设计高级特性。分享给大家供大家参考,具体如下: 静态属性 <?php class StaticExample { static pu...

PHP全局变量与超级全局变量区别分析

本文分析了PHP全局变量与超级全局变量区别。分享给大家供大家参考,具体如下: 全局变量就是在函数外面定义的变量。不能在函数中直接使用。因为它的作用域不会到函数内部。所以在函数内部使用的时...