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内置过滤器FILTER使用实例
Jun 25 PHP
PHP中使用数组指针函数操作数组示例
Nov 19 PHP
PHP SPL标准库之SplFixedArray使用实例
May 12 PHP
thinkPHP删除前弹出确认框的简单实现方法
May 16 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
php socket通信简单实现
Nov 18 PHP
php判断是否为ajax请求的方法
Nov 29 PHP
CodeIgniter框架常见用法工作总结
Mar 16 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
Oct 22 PHP
基于swoole实现多人聊天室
Jun 14 PHP
PHP array_reduce()函数的应用解析
Oct 28 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
Jan 04 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 discuz 主题表和回帖表的设计
2009/03/13 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
JS实现3D图片旋转展示效果代码
2015/09/22 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
python实现复制整个目录的方法
2015/05/12 Python
利用Python实现网络测试的脚本分享
2017/05/26 Python
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
python使用if语句实现一个猜拳游戏详解
2019/08/27 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
h5移动端调用支付宝、微信支付的实现
2020/06/08 HTML / CSS
纽约和芝加哥当天送花:Ode à la Rose
2019/07/05 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
事业单位个人应聘自荐信
2013/09/21 职场文书
大学生文员专业个人求职信范文
2014/01/05 职场文书
小学教师国培感言
2014/02/08 职场文书
物业管理毕业生的自我评价
2014/02/17 职场文书
开工仪式主持词
2014/03/20 职场文书
美术专业自荐信
2014/07/07 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
实习生辞职信范文
2015/03/02 职场文书
公司放假通知怎么写
2015/04/15 职场文书
初一年级组工作总结
2015/08/12 职场文书
html+css合并表格边框的示例代码
2021/03/31 HTML / CSS
nginx日志格式分析和修改
2022/04/28 Servers