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+MySQL的聊天室设计
Oct 09 PHP
一个简单的PHP&amp;MYSQL留言板源码
Jul 19 PHP
php设计模式 FlyWeight (享元模式)
Jun 26 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
Mar 11 PHP
php中mysql连接方式PDO使用详解
Feb 25 PHP
PHP curl使用实例
Jul 02 PHP
thinkPHP中分页用法实例分析
Dec 26 PHP
PHP仿微信多图片预览上传实例代码
Sep 13 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 PHP
TP5框架请求响应参数实例分析
Oct 17 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的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
浅谈PHP中Stream(流)
2015/06/08 PHP
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
2011/08/20 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
2015/12/14 Javascript
JavaScript错误处理和堆栈追踪详解
2017/04/18 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
详解用js代码触发dom事件的实现方案
2020/06/10 Javascript
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
Django自定义分页与bootstrap分页结合
2021/02/22 Python
Python+Django搭建自己的blog网站
2018/03/13 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
python开头的coding设置方法
2019/08/08 Python
Django实现基于类的分页功能
2019/10/31 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
html5+svg学习指南之SVG基础知识
2014/12/17 HTML / CSS
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
英语自荐信常用语句
2013/12/13 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
升学宴祝酒词
2015/08/11 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
创业计划书之家政服务
2019/09/18 职场文书
2019年预备党员的思想汇报:加深对党的认知
2019/09/25 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers
oracle索引总结
2021/09/25 Oracle
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android