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 相关文章推荐
phpMyAdmin下载、安装和使用入门教程
May 31 PHP
php获取url字符串截取路径的文件名和扩展名的函数
Jan 22 PHP
PHP与SQL注入攻击防范小技巧
Sep 16 PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 PHP
简单说说PHP优化那些事(经验分享)
Nov 27 PHP
Laravel中使用自己编写类库的3种方法
Feb 10 PHP
Php-Redis安装测试笔记
Mar 05 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
Dec 08 PHP
php设计模式之单例模式代码
Jun 11 PHP
php中static 静态变量和普通变量的区别
Dec 01 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
Mar 13 PHP
PHP count_chars()函数讲解
Feb 14 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下几种删除目录的方法总结
2007/08/19 PHP
PHP UTF8中文字符截断函数代码
2012/09/11 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
javascript 面向对象全新理练之继承与多态
2009/12/03 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
jquery实现保存已选用户
2014/07/21 Javascript
JS JQUERY实现滚动条自动滚到底的方法
2015/01/09 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
2015/12/31 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
js CSS3实现卡牌旋转切换效果
2017/07/04 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
[01:01:43]EG vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
Python文件夹与文件的操作实现代码
2014/07/13 Python
浅谈python内置变量-reversed(seq)
2017/06/21 Python
Python实现word2Vec model过程解析
2019/12/16 Python
使用python将微信image下.dat文件解密为.png的方法
2020/11/30 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
韩国商务邀请函
2014/01/14 职场文书
绵山导游词
2015/02/05 职场文书
费用申请报告范文
2015/05/15 职场文书
圆明园纪录片观后感
2015/06/03 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
销售口号霸气押韵
2015/12/24 职场文书
标准演讲稿格式结尾应该怎么书写?
2019/07/17 职场文书
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers