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 相关文章推荐
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
Dec 06 PHP
PHP 单引号与双引号的区别
Nov 24 PHP
php数组函数序列之array_search()- 按元素值返回键名
Nov 04 PHP
PHP爆绝对路径方法收集整理
Sep 17 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 PHP
php去除字符串换行符示例分享
Feb 13 PHP
php检查字符串中是否包含7位GSM字符的方法
Mar 17 PHP
浅析Yii2缓存的使用
May 10 PHP
php生成条形码的图片的实例详解
Sep 13 PHP
php+Ajax无刷新验证用户名操作实例详解
Mar 04 PHP
关于PHP5.6+版本“No input file specified”问题的解决
Dec 11 PHP
windows系统php环境安装swoole具体步骤
Mar 04 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 开发环境配置(测试开发环境)
2010/04/28 PHP
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
php cookie用户登录的详解及实例代码
2017/01/03 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
Javascript实现的分页函数
2006/12/22 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
AngularJS基础知识笔记之表格
2015/05/10 Javascript
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
NW.js 简介与使用方法
2018/02/01 Javascript
尝试自己动手用react来写一个分页组件(小结)
2018/02/09 Javascript
VUE重点问题总结
2018/03/19 Javascript
ES6使用export和import实现模块化的方法
2018/09/10 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
详解vue-cli 脚手架 安装
2019/04/16 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
详解vue 组件注册
2020/11/20 Vue.js
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
Python OpenCV中的numpy与图像类型转换操作
2020/12/11 Python
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
造型师求职自荐信
2013/09/27 职场文书
李开复演讲稿
2014/05/24 职场文书
邓小平理论心得体会
2014/09/09 职场文书
运动会运动员赞词
2015/07/22 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
Python实现学生管理系统(面向对象版)
2021/06/24 Python
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android