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 相关文章推荐
什么是MVC,好东西啊
May 03 PHP
Mysql的GROUP_CONCAT()函数使用方法
Mar 28 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
PHP header()函数常用方法总结
Apr 11 PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 PHP
几个实用的PHP内置函数使用指南
Nov 27 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
Aug 11 PHP
yii框架redis结合php实现秒杀效果(实例代码)
Oct 26 PHP
PHP回调函数概念与用法实例分析
Nov 03 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 PHP
Laravel框架Blade模板简介及模板继承用法分析
Dec 03 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/07/17 PHP
PHP详解ASCII码对照表与字符转换
2011/12/05 PHP
PHP中foreach()用法汇总
2015/07/02 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
web css实现整站样式互相切换
2013/10/29 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
Javascript自定义事件详解
2017/01/13 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
Vue实现web分页组件详解
2017/11/28 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
jQuery实现简单轮播图效果
2020/12/27 jQuery
python实现文件名批量替换和内容替换
2014/03/20 Python
Python实现破解12306图片验证码的方法分析
2017/12/29 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
浅谈Python类中的self到底是干啥的
2019/11/11 Python
python 经典数字滤波实例
2019/12/16 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
Django在Model保存前记录日志实例
2020/05/14 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
顶撞领导检讨书
2014/01/29 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
财务务虚会发言材料
2014/10/20 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书
工作失职自我检讨书
2015/05/05 职场文书