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调用三种数据库的方法(1)
Oct 09 PHP
PHP写MySQL数据 实现代码
Jun 15 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
Jul 07 PHP
PHP扩展编写点滴 技巧收集
Mar 09 PHP
centos 5.6 升级php到5.3的方法
May 14 PHP
php上传文件中文文件名乱码的解决方法
Nov 01 PHP
CI框架装载器Loader.php源码分析
Nov 04 PHP
php常用hash加密函数
Nov 22 PHP
yii数据库的查询方法
Dec 28 PHP
深入讲解PHP的对象注入(Object Injection)
Mar 01 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 PHP
PHP安全之register_globals的on和off的区别
Jul 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
PHP面向对象编程快速入门
2006/10/09 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
详解将数据从Laravel传送到vue的四种方式
2019/10/16 PHP
Js动态创建div
2008/09/25 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
js实现带圆角的两级导航菜单效果代码
2015/08/24 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
2016/12/01 Javascript
AngularJS ui-router (嵌套路由)实例
2017/03/10 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
python 获取et和excel的版本号
2009/04/09 Python
Python3基础之条件与循环控制实例解析
2014/08/13 Python
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
使用Template格式化Python字符串的方法
2019/01/22 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
2019/06/13 Python
Python 爬虫的原理
2020/07/30 Python
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
2020/08/24 HTML / CSS
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
草莓网官网:StrawberryNET
2019/08/21 全球购物
大学生党课思想汇报
2013/12/29 职场文书
21岁生日感言
2014/02/27 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
js 实现Material UI点击涟漪效果示例
2022/09/23 Javascript