PHP删除数组中的空值

2012-08-27 17:29:45|  分类: 默认分类 |  标签: |字号大中小 订阅

以前在去掉数组的空值是都是强写foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下:

PHP代码
  1. <?php
  2. foreach( $array as $k=>$v){
  3. if( !$v )
  4. unset( $array[$k] );
  5. }
  6. ?>

这样的效率并不高也曾经试过,先将$array转为对象,然后利用对象的特性来删除,因为:foreach是将当前操作的数组进行copy,每操作一下foreach,都是copy了一个变量,页面里面如果有太多的foreach,会是一个很大的消耗。

现在我发现了一个函数 rray_filter()函数的功能是利用回调函数来对数组进行过滤,一直都以为用回调函数才能处理,却没有发现手册下面还有一句,如果没有回调函数,那么默认就是删除数组中值为false的项目。

例程:

PHP代码
  1. <?php
  2. $entry = array(
  3. 0 => ‘xiaowen’,
  4. 1 => false,
  5. 2 => -1,
  6. 3 => null,
  7. 4 => ”,
  8. 5 =>1
  9. );
  10. print_r(array_filter($entry));
  11. ?>

输出值为:

XML/HTML代码
  1. Array
  2. (
  3. [0] => xiaowen
  4. [2] => -1
  5. [5]=>5
  6. )

PHP删除数组中的空值相关推荐

  1. PHP删除数组中空值的方法介绍

    这篇文章主要介绍了PHP删除数组中空值的方法介绍,需要的朋友可以参考下 说来惭愧,以前在去掉数组的空值是都是强写foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下: ...

  2. php 去掉数组中的空值_PHP删除数组中空值的方法介绍

    说来惭愧,以前在去掉数组的空值是都是强写foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下: foreach( $arr as $k=>$v){ if( !$v ...

  3. java 数组减除值_java – 删除数组中空值的最有效方法是什么.

    我很好奇删除数组中空值的最有效方法是什么.这是我当前的null(0)删除方法. public static int[] removeNull(int[] array){ int j = 0; for( ...

  4. 【Python】过滤数组中的空值(空字符串''和None)

    使用场景 计算最大值或最小值时使用. 如果不进行空值过滤的话,python自带的min()函数会将空值作为最小值. 过滤数组中的空值:示例 def get_real_arr(arr):"&q ...

  5. java删除数组中重复元素

    id="BAIDU_DUP_fp_iframe" src="https://pos.baidu.com/wh/o.htm?ltr="> > src= ...

  6. PHP 删除数组中元素的方式

    PHP 删除数组中的元素有多种方式,有删除数据中的一个元素和删除数组中的多个元素等. 删除数据中的一个元素 如果你想删除数组中的一个元素,你可以使用 unset() 或 array_splice() ...

  7. php数组重复值销毁,如何从PHP中删除数组中的重复值

    如何从PHP中删除数组中的重复值 如何从PHP中删除数组中的重复值? 21个解决方案 204 votes 使用array_unique(). 例: $array = array(1, 2, 2, 3) ...

  8. 用指针实现删除数组中小于10的数据

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p92 5.1.2 上级实训内容 [实训内容5]用指针实现删除数组中小于10的数据 正确程序已更新 正确 ...

  9. LeetCode 26 号问题 删除数组中的重复项

    删除数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条 ...

最新文章

  1. 【关注】人类的智力是如何发展起来的?《自然》发布三大科学假说
  2. python在子类中添加新的属性_pycharm实现在子类中添加一个父类没有的属性
  3. error occurred when trying to upload ui5 project to ABAP repository in win8
  4. webpack二(以webpack4.x起步)
  5. 状态模式和策略模式的区别
  6. 我希望早几年知道的5个Unix命令
  7. 判断循环双链表是否对称
  8. Java 的 Comparator 接口详解
  9. 小米路由器4 bootloader_无线路由器刷机中,Breed详细使用教程,一些注意事项
  10. STM8单片机读取18B20温度传感器
  11. symfony ajax,如何在php或symfony中使用jQuery ajax上传文件
  12. 【转】61条面向对象设计的经验原则
  13. VMware14秘钥
  14. jcp jsr_JCP批准Java SE 7和随附的JSR
  15. LSF - 提交GUI应用到LSF无法运行,报错Failed to connect to socket /tmp/dbus-xxxxxxxxx: Connection refused
  16. 无责任猜想#冰桶挑战#大佬们相爱相杀众生相
  17. 一张图看清国内程序员的分布数量
  18. 云桌面为什么凭这四点就能火
  19. 2015 年天猫双 11 全纪录:疯狂到 912 亿,给大家推荐点装修品牌
  20. 网络安全工程师们改不掉的“老毛病”

热门文章

  1. Spark高级操作之json复杂和嵌套数据结构的操作二
  2. mybatis Table book.t_abmin not find
  3. mysql 设置 server id_MySQL中如何设置 auto_increment 重新计数 主键id从1开始
  4. MyBatis四大核心概念
  5. 技术分享连载(二十七)
  6. Spring与Web整合
  7. Web应用——焦点图自动浏览
  8. 【转贴】ASP.NET 3.5中的ListView控件和DataPager控件
  9. CSS(一)sytle
  10. C#中全角转半角以及半角转全角