PHP从数组中删除元素的四种方法实例


Posted in PHP onMay 12, 2017

茴香豆的“茴”字有四种写法,PHP从数组中删除元素也有四种方法 ^_^。

删除一个元素,且保持原有索引不变

使用 unset 函数,示例如下:

<?php
  $array = array(0 => "a", 1 => "b", 2 => "c");
  unset($array[1]);
        //↑ 你想删除的key
?>

输出:

Array (
    [0] => a
    [2] => c
)

使用 unset 并未改变数组的原有索引。如果打算重排索引(让索引从0开始,并且连续),可以使用 array_values 函数:

$array = array_values($array);
/*
输出
array(2) {
 [0]=>
 string(1) "a"
 [1]=>
 string(1) "c"
}
*/

删除一个元素,不保持索引

使用 array_splice 函数,示例如下:

<?php
  $array = array(0 => "a", 1 => "b", 2 => "c");
  array_splice($array, 1, 1);
            //↑ 你想删除的元素的Offset
?>

输出:

Array (
    [0] => a
    [1] => c
)

按值删除多个元素,保持索引

使用 array_diff 函数,示例如下:

<?php
  $array = array(0 => "a", 1 => "b", 2 => "c");
  $array = array_diff($array, ["a", "c"]);
               //└────────┘→ 你想删除的数组元素值values
?>

输出:

Array (
    [1] => b
)

与 unset 类似,array_diff 也将保持索引。

按键删除多个元素,保持索引

使用 array_diff_key 函数,示例如下:

<?php

  $array = array(0 => "a", 1 => "b", 2 => "c");
  $array = array_diff_key($array, [0 => "xy", "2" => "xy"]);
                  //↑      ↑ 你想删除的数组键keys
?>

输出:

Array (
    [1] => b
)

与 unset 类似,array_diff_key 也将保持索引。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
Jun 02 PHP
php中的curl使用入门教程和常见用法实例
Apr 10 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
Dec 18 PHP
PHP数组去重比较快的实现方式
Jan 19 PHP
Yii2如何批量添加数据
May 17 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
May 28 PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
May 11 PHP
PHP二维索引数组的遍历实例分析【2种方式】
Jun 24 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
Oct 16 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 28 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
May 12 #PHP
php中时间函数date及常用的时间计算
May 12 #PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 #PHP
PHP 实现浏览记录并按日期分组
May 11 #PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 #PHP
使用WAMP搭建PHP本地开发环境
May 10 #PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 #PHP
You might like
Cannot modify header information错误解决方法
2008/10/08 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
将php数组输出html表格的方法
2014/02/24 PHP
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
2015/12/31 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
2016/08/19 Javascript
javascript 分号总结及详细介绍
2016/09/24 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
原生JS实现的雪花飘落动画效果
2018/05/03 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
python+django快速实现文件上传
2016/10/24 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
用python实现将数组元素按从小到大的顺序排列方法
2018/07/02 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
Python实现钉钉发送报警消息的方法
2019/02/20 Python
分享unittest单元测试框架中几种常用的用例加载方法
2020/12/02 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
Baracuta官方网站:Harrington夹克,G9,G4,G10等
2018/03/06 全球购物
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
2013/01/26 面试题
上班玩手机检讨书
2014/02/17 职场文书
党建示范点实施方案
2014/03/12 职场文书
分居协议书范本
2014/11/03 职场文书
2014年平安建设工作总结
2014/11/19 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
授权委托书
2015/01/28 职场文书
撤诉状格式范本
2015/05/19 职场文书
2019年入党思想汇报格式与要求
2019/06/25 职场文书
导游词之井冈山
2019/11/20 职场文书