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数据库开发知多少
Oct 09 PHP
用php过滤危险html代码的函数
Jul 22 PHP
php 图片上传类代码
Jul 17 PHP
PHP 执行系统外部命令 system() exec() passthru()
Aug 11 PHP
PHP实现邮件群发的源码
Jun 18 PHP
Function eregi is deprecated (解决方法)
Jun 21 PHP
Linux下安装oracle客户端并配置php5.3
Oct 12 PHP
php使用Jpgraph绘制柱形图的方法
Jun 10 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
PHP 计算两个特别大的整数实例代码
May 07 PHP
Django 标签筛选的实现代码(一对多、多对多)
Sep 05 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
May 25 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
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
jQuery之排序组件的深入解析
2013/06/19 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
将页面table内容与样式另存成excel文件的方法
2015/08/05 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
js实现的简单图片浮动效果完整实例
2016/05/10 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
原生js实现中奖信息无间隙滚动效果
2017/01/18 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
微信小程序之GET请求的实例详解
2017/09/29 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
vue的keep-alive用法技巧
2019/08/15 Javascript
JavaScript字符串处理常见操作方法小结
2019/11/15 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
2020/03/23 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python缩进和冒号详解
2016/06/01 Python
Python中super()函数简介及用法分享
2016/07/11 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
利用CSS3 动画 绘画 圆形动态时钟
2018/03/20 HTML / CSS
作弊检讨书1000字
2014/02/01 职场文书
数控技术学生的自我评价
2014/02/15 职场文书
2014年党支部学习材料
2014/05/19 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
python中使用 unittest.TestCase单元测试的用例详解
2021/08/30 Python
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers