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 相关文章推荐
PHP 5.0对象模型深度探索之对象复制
Mar 27 PHP
解析php DOMElement 操作xml 文档的实现代码
May 10 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
PHP利用str_replace防注入的方法
Nov 10 PHP
PHP统计二维数组元素个数的方法
Nov 12 PHP
php发送post请求函数分享
Mar 06 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
Aug 19 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
Oct 28 PHP
php compact 通过变量创建数组
Nov 15 PHP
yii2多图上传组件的使用教程
May 10 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
Nov 23 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
C#静态方法与非静态方法实例分析
2014/09/22 PHP
php判断用户是否手机访问代码
2015/06/08 PHP
php可变长参数处理函数详解
2017/02/22 PHP
PHP fopen中文文件名乱码问题解决方案
2020/10/28 PHP
javascript form 验证函数 弹出对话框形式
2009/06/23 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
使用jquery解析XML示例代码
2014/09/05 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
浅谈JS之tagNaem和nodeName
2016/09/13 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
vue中echarts引入中国地图的案例
2020/07/28 Javascript
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
python基于FTP实现文件传输相关功能代码实例
2019/09/28 Python
简单了解Python读取大文件代码实例
2019/12/18 Python
python matplotlib imshow热图坐标替换/映射实例
2020/03/14 Python
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
车间调度岗位职责
2013/11/30 职场文书
优秀士兵先进事迹
2014/02/06 职场文书
公司节能减排倡议书
2014/05/14 职场文书
写好求职信的技巧解密
2019/05/14 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python