php数组中删除元素之重新索引的方法


Posted in PHP onSeptember 16, 2014

如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊

<?php

$arr = array('a','b','c','d');

unset($arr[1]);

print_r($arr);

?>

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);

?>

print_r($arr)之后,结果是A(3water.com)rray ( [0] => a [1] => c [2] => d )

删除数组指定元素

array_search()比较实用

array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false

$array = array('1', '2', '3', '4', '5');

$del_value = 3;

unset($array[array_search($del_value , $array)]);//利用unset删除这个元素

print_r($array);

输出
array('1', '2', '4', '5');

但这种如果要重新索引数组就需要利用foreach遍历删除的数组之后重新建立一个数组这样也是可以的。

PHP 相关文章推荐
php 更新数据库中断的解决方法
Jun 05 PHP
ThinkPHP采用模块和操作分析
Apr 18 PHP
php获取用户IPv4或IPv6地址的代码
Nov 15 PHP
解析dedecms空间迁移步骤详解
May 15 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
ThinkPHP单字母函数(快捷方法)使用总结
Jul 23 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
Oct 21 PHP
weiphp微信公众平台授权设置
Jan 04 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
PHP实现数组和对象的相互转换操作示例
Mar 20 PHP
深入分析PHP设计模式
Jun 15 PHP
使用php的mail()函数实现发送邮件功能
Jun 03 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 #PHP
PHP+iFrame实现页面无需刷新的异步文件上传
Sep 16 #PHP
PHP使用静态方法的几个注意事项
Sep 16 #PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 #PHP
php中使用PHPExcel读写excel(xls)文件的方法
Sep 15 #PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
Sep 12 #PHP
php修改指定文件后缀的方法
Sep 11 #PHP
You might like
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
PHP常用技巧汇总
2016/03/04 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
再论Javascript下字符串连接的性能
2011/03/05 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
localStorage的黑科技-js和css缓存机制
2017/02/06 Javascript
JavaScript轮播图简单制作方法
2017/02/20 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
详解微信小程序 登录获取unionid
2017/06/27 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
利用JS实现scroll自定义滚动效果详解
2017/10/17 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
vue3+typeScript穿梭框的实现示例
2020/12/29 Vue.js
PyQt5实现简单数据标注工具
2019/03/18 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
css3实现六边形边框的实例代码
2019/05/24 HTML / CSS
html5跳转小程序wx-open-launch-weapp踩坑
2020/12/02 HTML / CSS
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
动态密码技术
2012/10/18 面试题
Jdbc数据访问技术面试题
2012/03/30 面试题
公司综合部的成员自我评价分享
2013/11/05 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
GO语言字符串处理函数之处理Strings包
2022/04/14 Golang