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 相关文章推荐
用 PHP5 轻松解析 XML
Dec 04 PHP
解决中英文字符串长度问题函数
Jan 16 PHP
PHP 解决utf-8和gb2312编码转换问题
Mar 18 PHP
php 上传文件类型判断函数(避免上传漏洞 )
Jun 08 PHP
php获取数组元素中头一个数组元素值的实现方法
Dec 20 PHP
Laravel 中获取上一篇和下一篇数据
Jul 27 PHP
php验证码生成代码
Nov 11 PHP
PHP中的函数声明与使用详解
May 27 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
PHP重置数组为连续数字索引的几种方式总结
Mar 12 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
Jan 04 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 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
smarty中先strip_tags过滤html标签后truncate截取文章运用
2010/10/25 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
js实现页面跳转的几种方法小结
2016/05/16 Javascript
JS使用JSON作为参数实例分析
2016/06/23 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
python win32 简单操作方法
2017/05/25 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
python把1变成01的步骤总结
2019/02/27 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
天巡全球:Skyscanner Global
2017/06/20 全球购物
匈牙利墨盒和碳粉购买网站:CDRmarket
2018/04/14 全球购物
使用useBean标志初始化BEAN时如何接受初始化参数
2012/02/11 面试题
Linux操作面试题
2012/05/16 面试题
结婚保证书范文
2014/04/29 职场文书
竞选班干部演讲稿300字
2014/08/20 职场文书
初中国旗下的演讲稿
2014/08/28 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
演讲比赛主持词
2015/06/29 职场文书
优秀大学生申请书
2019/06/24 职场文书
导游词之宿迁乾隆行宫
2019/10/15 职场文书
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS