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 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
PHP 实现explort() 功能的详解
Jun 20 PHP
如何利用PHP执行.SQL文件
Jul 05 PHP
codeigniter集成ucenter1.6双向通信的解决办法
Jun 12 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
Nov 17 PHP
对PHP PDO的一些认识小结
Jan 23 PHP
php获得文件大小和文件创建时间的方法
Mar 13 PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 PHP
tp5.1 框架join方法用法实例分析
May 26 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中调用其他系统http接口的方法说明
2014/02/28 PHP
四个PHP非常实用的功能
2015/09/29 PHP
golang与PHP输出excel示例
2016/07/22 PHP
在jQuery1.5中使用deferred对象 着放大镜看Promise
2011/03/12 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
javascript 快速排序函数代码
2012/05/30 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
Lua表达式和控制结构学习笔记
2014/12/15 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
JavaScript动态创建form表单并提交的实现方法
2015/12/10 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
利用Python绘制MySQL数据图实现数据可视化
2015/03/30 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
pytorch自定义二值化网络层方式
2020/01/07 Python
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
医药营销专业个人自荐信
2013/09/29 职场文书
学生会竞选自荐信
2013/10/12 职场文书
信息技术专业个人自我评价
2013/12/11 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
军训学生自我鉴定
2014/02/12 职场文书
工厂车间标语
2014/06/19 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
2015毕业实习推荐信
2015/03/23 职场文书
Vue Element plus使用方法梳理
2022/12/24 Vue.js