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 中文处理技巧
Apr 25 PHP
腾讯QQ php程序员面试题目整理
Jun 08 PHP
使用PHP会话(Session)实现用户登陆功能
Jun 29 PHP
Mac环境下php操作mysql数据库的方法分享
May 11 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
PHP使用socket发送HTTP请求的方法
Feb 14 PHP
PHP基于curl后台远程登录正方教务系统的方法
Oct 14 PHP
yii使用bootstrap分页样式的实例
Jan 17 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
Aug 03 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
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
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
JavaScript OOP类与继承
2009/11/15 Javascript
js 函数的副作用分析
2011/08/23 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
jQuery实现监控页面所有ajax请求的方法
2015/12/10 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
python类定义的讲解
2013/11/01 Python
Python中input和raw_input的一点区别
2014/10/21 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
2018/11/29 Python
python实现浪漫的烟花秀
2019/01/30 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
Python 使用指定的网卡发送HTTP请求的实例
2019/08/21 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
关于Python-faker的函数效果一览
2019/11/28 Python
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
文员的职业生涯规划发展方向
2014/02/08 职场文书
环保建议书500字
2014/05/14 职场文书
土建工程师岗位职责
2014/06/10 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
CAD实训总结范文
2015/08/03 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书