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 相关文章推荐
Mysql的常用命令
Oct 09 PHP
十天学会php之第八天
Oct 09 PHP
PHP函数utf8转gb2312编码
Dec 21 PHP
php中文本操作的类
Mar 17 PHP
linux php mysql数据库备份实现代码
Mar 10 PHP
用Zend Encode编写开发PHP程序
Feb 21 PHP
深入理解PHP之require/include顺序 推荐
Jan 02 PHP
二招解决php乱码问题
Mar 25 PHP
Memcached常用命令以及使用说明详解
Jun 27 PHP
php利用腾讯ip分享计划获取地理位置示例分享
Jan 20 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 PHP
PHP实现的链式队列结构示例
Sep 15 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 setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
php导入导出excel实例
2013/10/25 PHP
linux下编译安装memcached服务
2014/08/03 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
jquery 实现两级导航菜单附效果图
2014/03/07 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
jQuery弹出层插件Lightbox_me使用指南
2015/04/21 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
学习使用Bootstrap页面排版样式
2017/05/11 Javascript
vue项目实战总结篇
2018/02/11 Javascript
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
python绘制多个子图的实例
2019/07/07 Python
python开头的coding设置方法
2019/08/08 Python
pytorch制作自己的LMDB数据操作示例
2019/12/18 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
如何高效率的查找一个月以内的数据
2012/04/15 面试题
电信专业毕业生推荐信
2013/11/18 职场文书
财务支持类个人的自我评价
2014/02/14 职场文书
省文明单位申报材料
2014/05/08 职场文书
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android
spring 项目实现限流方法示例
2022/07/15 Java/Android
JS前端使用canvas实现物体的点选示例
2022/08/05 Javascript