PHP中unset,array_splice删除数组中元素的区别


Posted in PHP onJuly 28, 2014

如果要在某个数组中删除一个元素,可以直接用的unset,但是数组的索引不会重排:

<?php 
$arr = array('a','b','c','d');
unset($arr[1]);
print_r($arr);
?>

结果是:

Array ( [0] => a [2] => c [3] => d )
 
那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():

<?php 
$arr = array('a','b','c','d'); 
array_splice($arr,1,1); 
print_r($arr); 
?>

结果是:

Array ( [0] => a [1] => c [2] => d )
 
删除数组中特定元素

<?php
$arr2 = array(1,3, 5,7,8);
foreach ($arr2 as $key=>$value)
{
  if ($value === 3)
    unset($arr2[$key]);
}
var_dump($arr2);
?>

补充删除空数组

实例:

<?php
  $array = ('a' => "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>"");
  array_filter($array);
  echo "<pre>";
  print_r($array);
?>

结果:

Array (
     [a] => abc
     [b] => bcd
     [c] => cde
    [d] => def
)

总结
 

array_splice()函数删除的话,数组的索引值也变化了。
unset()函数删除的话,数组的索引值没有变化。

PHP 相关文章推荐
DOMXML函数笔记
Oct 09 PHP
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
PHPMailer的主要功能特点和简单使用说明
Feb 17 PHP
php读取富文本的时p标签会出现红线是怎么回事
May 13 PHP
PHP类中的魔术方法(Magic Method)简明总结
Jul 08 PHP
PHP对象递归引用造成内存泄漏分析
Aug 28 PHP
php实现mysql数据库连接操作及用户管理
Nov 08 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
php mysql实现mysql_select_db选择数据库
Dec 30 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
Apr 20 PHP
PHP常用数组函数介绍
Jul 28 #PHP
PHP调用C#开发的dll类库方法
Jul 28 #PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
Jul 28 #PHP
windows的文件系统机制引发的PHP路径爆破问题分析
Jul 28 #PHP
浅析PHP程序设计中的MVC编程思想
Jul 28 #PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
Jul 28 #PHP
php实现的九九乘法口诀表简洁版
Jul 28 #PHP
You might like
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
2016/10/18 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
2018/04/09 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
express的中间件bodyParser详解
2014/12/04 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
JS实现的数字格式化功能示例
2017/02/10 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
教大家使用Python SqlAlchemy
2016/02/12 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
基于python的docx模块处理word和WPS的docx格式文件方式
2020/02/13 Python
Python itertools.product方法代码实例
2020/03/27 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
2020/05/15 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
Html5新增标签与样式及让元素水平垂直居中
2019/07/11 HTML / CSS
本科毕业生的求职信范文
2013/11/20 职场文书
自荐信怎么写呢?
2013/12/09 职场文书
办理生育手续介绍信
2014/01/14 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
《和我们一样享受春天》教学反思
2014/02/07 职场文书
五型班组建设方案
2014/02/10 职场文书
单位委托书怎么写
2014/08/02 职场文书
应用心理学专业求职信
2014/08/04 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书
2016年清明节寄语
2015/12/04 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书