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 相关文章推荐
php批量删除数据
Jan 18 PHP
PHP抽象类 介绍
Jun 13 PHP
php curl 伪造IP来源的实例代码
Nov 01 PHP
php使用curl发送json格式数据实例
Dec 17 PHP
Codeigniter的一些优秀特性总结
Jan 21 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
Sep 23 PHP
apache和PHP如何整合在一起
Oct 12 PHP
Linux平台PHP5.4设置FPM线程数量的方法
Nov 09 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
详解PHP 7.4 中数组延展操作符语法知识点
Jul 19 PHP
Smarty缓存机制实例详解【三种缓存方式】
Jul 20 PHP
PHP延迟静态绑定使用方法实例解析
Sep 05 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
PHP通用检测函数集合
2011/02/08 PHP
windows8.1下Apache+Php+MySQL配置步骤
2015/10/30 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
javascript 时间比较实现代码
2009/10/28 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
2017/07/03 Javascript
关于ES6箭头函数中的this问题
2018/02/27 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
Element Dialog对话框的使用示例
2020/07/26 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
python二叉树的实现实例
2013/11/21 Python
利用Python破解验证码实例详解
2016/12/08 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
2020/04/14 Python
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
信息总监管理职责范本
2014/03/08 职场文书
法制宣传月活动总结
2014/04/29 职场文书
住房租房协议书
2014/08/20 职场文书
师范生见习报告
2014/10/31 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
Python中的变量与常量
2021/11/11 Python
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL
码云(gitee)通过git自动同步到阿里云服务器
2022/12/24 Servers