php 递归到空如何处理,php递归调用删除数组空值元素的方法

这篇文章主要介绍了php递归调用删除数组空值元素的方法,涉及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中文网,转载请注明出处,感谢您的尊重!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lnmp pathinfo问题

location / { if (!-e $request_filename) {rewrite ^/(.*)$ /index.php/$1 last;break;}}location ~ \.php {fastcgi_pass 127.0.0.1:9000; //这里不用担心你的服务器的ip是否和这个不一样,不用怀疑,//这样写就行了fastcgi_index index.php;…

maven配置testng_TestNG和Maven配置指南

maven配置testng为了有用,自动测试应该运行得非常快。 否则,将不会在开发期间经常运行,甚至在开发人员工作站上的默认配置中将被忽略。 最简单的规则是只编写小型单元测试,该测试将模拟给定类的邻居。 然而,有时在IoC容…

oracle00011,oracle11g 导出表报EXP-00011:table不存在。

oracle11g,在用exp命令备份数据库时,如果表中没有数据报EXP-00011错误,对应的表不存在。这导致对应的空表无法备份。原因:11g默认创建一个表时不分配segment,只有在插入数据时才会产生(当然也可以强制分配)&#xff0c…

《中国文化要略》第八章 古代教育 第九章 科举制度

转载于:https://www.cnblogs.com/bgd140206319/p/6565654.html

Hamcrest Matchers教程

本文是我们名为“ 用Mockito进行测试 ”的学院课程的一部分。 在本课程中,您将深入了解Mockito的魔力。 您将了解有关“模拟”,“间谍”和“部分模拟”的信息,以及它们相应的Stubbing行为。 您还将看到使用测试双打和对象匹配器进行验证的过…

oracle 回滚空间查询,oracle回滚段和回滚表空间操作

1、查询回滚段信息:状态为ONLINE,当前UNDO表空间为undotbs1SQL>select segment_name, owner, tablespace_name, status from dba_rollback_segs;SEGMENT_NAME OWNER TABLESPACE_NAME STATUS------------------------------ ------ ------------------…

win7下安装 python2 和python3

一直纠结于选择py2还是py3,不如在同一系统下安装两个版本就好了。 1、安装python2.7和python3.5 直接到官网https://www.python.org/下载,安装就可以了。 2.安装比较简单,点exe文件一直下一步就可以了(注意:安装的时候…

oracle分页查询加总数,oracle count 百万级 分页查询记要总数、总条数优化

oracle count 百万级 分页查询记录总数、总条数优化oracle count 百万级 查询记录总数、总条数优化最近做一个项目时,做分页时,发现分页查询速度很慢,分页我做的是两次查询,一次是查询总数,一次是查询分页结果/** 查询…

mysql为字段值添加或者去除前缀、后缀(查询字段拼值)

添加前缀update ecs_goods set goods_nameconcat(新中式,goods_name) where cat_id 4; 添加后缀update ecs_goods set goods_nameconcat(goods_name,新中式) where cat_id 4; 删除 update ecs_goodsset goods_nameright(goods_name,length(goods_name)-1) where cat_id 4; 其中…

maven使用testng_使用ReportNG更好看的TestNG HTML测试报告– Maven指南

maven使用testng当“扩展TestCase”是编写测试中必不可少的部分时, TestNG是作为JUnit 3的注释驱动替代创建的测试框架。 即使到现在,它也提供了一些有趣的功能,例如数据提供程序,并行测试或测试组。 在我们的测试不是从IDE执行的…

谈谈你对oracle的认识,对Oracle存储过程的几点认识

1、写Oracle存储过程时最好不要在其中写Commit语句。一般调用程序会自动Commit数据,比如用NHibernate调用的时候,NHibernate就会自动Commi1、写Oracle存储过程时最好不要在其中写Commit语句。一般调用程序会自动Commit数据,,比如用…

1046. 划拳(15)

1046. 划拳(15) 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则…

JavaFX将会留下来!

上周在网上看到了一些有关JavaFX未来的讨论。 许多人给人的印象是JavaFX将被Oracle搁置。 这主要是由Shai Almog(代号One)撰写的博客文章“ Should Oracle Spring Clean JavaFX”引起的。 这是我早些时候写的一个博客“启发”的,我在其中强调…

oracle 事务未正常回滚,Spring事务没有回滚异常(Oracle JNDI数据源)

我在Spring MVC 3.1项目中使用基于注释的事务,并且在抛出异常时我的事务没有被回滚.这是我的服务代码Servicepublic class ImportService {AutowiredImportMapper importMapper;Transactional(propagationPropagation.REQUIRED, isolationIsolation.READ_COMMITTED, rollbackFo…

Tomcat的详解和优化

Tomcat的详解和优化 转自:http://www.toutiao.com/i6387497067698192897/ 一、Tomcat的缺省是多少&#xff0c;怎么修改 Tomcat的缺省端口号是8080. 修改Tomcat端口号&#xff1a; 1.打开Tomcat目录下的conf/server.xml文件&#xff0c;在里面找到下列信息 <Connector port”…

远程修改linux文件内容,用VS Code连接远程Linux服务器实时修改代码

安装Remote SSH插件并使用3.1安装然后去vs code里面搜索remote ssh就可以看到该插件&#xff0c;点击安装即可。3.2界面改变安装完该插件后我们可以看到我们的侧栏已经多了一个远程的图标&#xff0c;让我们点击它&#xff0c;如下所示&#xff1a;3.3使用插件①、点击新添加一…

转载 C++实现的委托机制

转载 C实现的委托机制 1.引言 下面的委托实现使用的MyGUI里面的委托实现&#xff0c;MyGUI是一款强大的GUI库&#xff0c;想理解更多的MyGUI信息&#xff0c;猛击这里http://mygui.info/ 最终的代码可以在这里下载&#xff1a;http://download.csdn.net/detail/gouki04/364132…

jmeter负载测试测试_Apache JMeter:随心所欲进行负载测试

jmeter负载测试测试这是有关使用Apache JMeter进行负载测试的第二篇文章&#xff0c;请在此处阅读第一篇文章&#xff1a; 有关对关系数据库进行负载测试的分步教程。 JMeter有很多采样器 。 如果您需要JMeter不提供的采样器&#xff0c;则可以编写您的自定义采样器。 &#xf…

linux中文件属性mtime,linux stat (三个时间属性命令可用来列出文件的 atime、ctime 和 mtime。)...

[[email protected] ~]# stat test/test2File: ‘test/test2‘Size: 0 Blocks: 0 IO Block: 4096 普通空文件Device: 803h/2051d Inode: 261657 Links: 1Access: (0744/-rwxr--r--) Uid: ( 500/ user1) Gid: ( 500/testgroup)Access:…

教程:测试期间的日志记录

日志记录是一种流行的解决方案&#xff0c;用于显示软件在运行时的运行状况。 但是&#xff0c;当我们使用jUnit / TestNG对应用程序进行单元测试时&#xff0c;日志记录会怎样&#xff1f; 在自动化测试执行期间&#xff0c;我们通常不希望看到日志记录消息&#xff0c;因为…