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 相关文章推荐
第十二节--类的自动加载
Nov 16 PHP
php调用mysql存储过程
Feb 14 PHP
php中计算时间差的几种方法
Dec 31 PHP
PHP 第二节 数据类型之字符串类型
Apr 28 PHP
PHP面向对象教程之自定义类
Jun 10 PHP
PHP实现阳历到农历转换的类实例
Mar 07 PHP
php遍历删除整个目录及文件的方法
Mar 13 PHP
php执行多个存储过程的方法【基于thinkPHP】
Nov 08 PHP
PHP Mysqli 常用代码集合
Nov 12 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 PHP
Laravel统一错误处理为JSON的方法介绍
Oct 18 PHP
详细分析PHP7与PHP5区别
Jun 26 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单件模式结合命令链模式使用说明
2008/09/07 PHP
PHP中使用unset销毁变量并内存释放问题
2012/07/05 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
2017/01/04 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
[00:18]天涯墨客三技能展示
2018/08/25 DOTA
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
Python描述器descriptor详解
2015/02/03 Python
老生常谈python函数参数的区别(必看篇)
2017/05/29 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
Python爬取腾讯视频评论的思路详解
2019/12/19 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
2020/05/11 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
捷克领先的户外服装及配件市场零售商:ALPINE PRO
2018/01/09 全球购物
中东最大的在线宠物店:Dubai Pet Food
2020/06/11 全球购物
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
2013年研究生毕业感言
2014/02/06 职场文书
校运会入场式解说词
2014/02/10 职场文书
国培远程培训感言
2014/03/08 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
python flask开发的简单基金查询工具
2021/06/02 Python
Consul在linux环境的集群部署
2022/04/08 Servers