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定时执行计划任务的多种方法小结
Dec 19 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
Aug 07 PHP
php时间戳格式化显示友好的时间函数分享
Oct 21 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
PHP统计目录中文件以及目录中目录大小的方法
Jan 09 PHP
全新Mac配置PHP开发环境教程
Feb 03 PHP
php数据访问之查询关键字
May 09 PHP
PHP实现路由映射到指定控制器
Aug 13 PHP
PHP Header用于页面跳转时的几个注意事项
Oct 21 PHP
PHP 微信扫码支付源代码(推荐)
Nov 03 PHP
[原创]php实现 data url的图片生成与保存
Dec 04 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
Feb 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 各种排序算法实现代码
2009/08/20 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
简单选项卡 js和jquery制作方法分享
2014/02/26 Javascript
jQuery scrollFix滚动定位插件
2015/04/01 Javascript
jQuery取消特定的click事件
2016/02/29 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
vue实现短信验证码输入框
2020/04/17 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
python append、extend与insert的区别
2016/10/13 Python
详解python while 函数及while和for的区别
2018/09/07 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
浅谈python实现Google翻译PDF,解决换行的问题
2018/11/28 Python
详解Django-restframework 之频率源码分析
2019/02/27 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
python实现猜单词游戏
2020/05/22 Python
python/golang 删除链表中的元素
2020/09/14 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
应届电子商务毕业自荐书范文
2014/02/11 职场文书
运动会入场式解说词
2014/02/18 职场文书
班主任评语大全
2014/04/26 职场文书
反腐倡廉剖析材料
2014/09/30 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
退伍军人感言
2015/08/01 职场文书
2016年“9.22”世界无车日活动小结
2016/04/05 职场文书
2022微信温控新功能上线
2022/05/09 数码科技