php 从数组里删除元素,PHP从数组中删除元素的四种方法实例

PHP从数组中删除元素的四种方法实例

一、总结

一句话总结:unset(),array_splice(),array_diff(),array_diff_key()

二、PHP从数组中删除元素的四种方法实例

茴香豆的“茴”字有四种写法,PHP从数组中删除元素也有四种方法 ^_^。

删除一个元素,且保持原有索引不变

使用 unset 函数,示例如下:

$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 函数,示例如下:

$array = array(0 => "a", 1 => "b", 2 => "c");

array_splice($array, 1, 1);

//↑ 你想删除的元素的Offset

?>

输出:

Array (

[0] => a

[1] => c

)

按值删除多个元素,保持索引

使用 array_diff 函数,示例如下:

$array = array(0 => "a", 1 => "b", 2 => "c");

$array = array_diff($array, ["a", "c"]);

//└────────┘→ 你想删除的数组元素值values

?>

输出:

Array (

[1] => b

)

与 unset 类似,array_diff 也将保持索引。

按键删除多个元素,保持索引

使用 array_diff_key 函数,示例如下:

$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 也将保持索引。

JS去除数组中重复值的四种方法

JS去除数组中重复值的四种方法 1 ///             o[this[i]] = "";  }      }       newArr.p ...

Js中去除数组中重复元素的6种方法

方法一: Array.prototype.method1 = function(){ var arr=[]; //定义一个临时数组 for(var i = 0; i < this.length; ...

&ast;&ast;PHP删除数组中特定元素的两种方法array&lowbar;splice&lpar;&rpar;和unset&lpar;&rpar;

方法一: 复制代码代码如下: <?php $arr1 = array(1,3, 5,7,8);$key = array_search(3, $arr1); if ($key !== false)  ...

PHP从数组中删除元素的方法

PHP从数组中删除元素的方法 本篇文章主要介绍了PHP从数组中删除元素的四种方法实例 删除一个元素,且保持原有索引不变 使用 unset 函数,示例如下: 1 2 3 4 5 <?php   $ ...

MongoDB 学习笔记之 从数组中删除元素和指定数组位置

从数组中删除元素: 从数组中删除单个元素: db.ArrayTest.updateOne({ "name" : "Bill"},{$pop: {"ad ...

python中List添加、删除元素的几种方法

一.python中List添加元素的几种方法 List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非你对它们进行排序或其他修改操作).在Pytho ...

关于iOS去除数组中重复数据的几种方法

关于iOS去除数组中重复数据的几种方法   在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢? 第一种:利用NSDictionary的AllKeys(AllValues)方 ...

JS基础入门篇( 三 )—使用JS获取页面中某个元素的4种方法以及之间的差别( 一 )

1.使用JS获取页面中某个元素的4种方法 1.通过id名获取元素 document.getElementById("id名"); 2.通过class名获取元素 document.g ...

php获取数组中重复数据的两种方法

分享下php获取数组中重复数据的两种方法. 1,利用php提供的函数,array_unique和array_diff_assoc来实现 <?php function FetchRepeatMem ...

随机推荐

利用 img 和 script 发送跨域请求

利用img.src可以发送http请求,但是发送http请求不是img.src的真正用意. 同样,用script.src去请求jsonp格式的接口数据也不是script元素的最初设计用途. 但是这些歪 ...

Python做的眼睛护士

搞了两天终于搞定了,虽然还存在一点点小问题(窗口的显示位置应该设在(0,0)).但基本可以用了. 代码分两个部分.主界面和遮挡屏幕界面.主界面设置完时间后调用遮挡屏幕界面. 1.主界面(设置 工作时间 ...

TensorFlow框架&lpar;3&rpar;之MNIST机器学习入门

1. MNIST数据集 1.1 概述 Tensorflow框架载tensorflow.contrib.learn.python.learn.datasets包中提供多个机器学习的数据集.本节介绍的是M ...

&lbrack;bzoj2665&rsqb; &lbrack;cqoi2012&rsqb;编号

首先有一个直观暴力的想法.. 枚举每个数,如果这个数可行的话,就加进答案里,然后把和它超过4个位置相同的数去掉. 然后正解真的是这个>_< 假设取到了数x,只要和x有5位相同的数就可以排除 ...

tomcat之过滤器

过滤器是一种特殊的servlet,也需要在配置文件中进行配置,通过它可以将指定的请求拦截下来,之后对请求处理,处理完之后,将拦截请求放行.实现过滤器也需要实现一个接口叫javax. servlet.F ...

JavaScript的局部变量和全局变量小知识

(了解一下,避免初学者犯错,但下面定义全局变量的做法并不推荐,只是让你们知道这是怎么一回事) 如果在函数中使用var定义一个变量,那么这个变量在函数退出后就会被销毁,例如: function test ...

yum仓库搭建

1. 创建yum仓库目录 mkdir -p /application/yum/centos6.6/x86_64/ cd /application/yum/centos6.6/x86_64/ rz  # ...

Cocos Creator存储和读取用户数据--官方文档

存储数据 cc.sys.localStorage.setItem(key, value) 上面的方法需要两个参数,用来索引的字符串键值 key,和要保存的字符串数据 value. 假如我们要保存玩家最 ...

css-方形边框四角

项目中遇到下图这种样式,刚开始想切图解决 后来想到更好的解决办法,代码如下: HTML:

进阶之路(基础篇) - 021 arduino基础知识

什么是arduino(翻译自arduino官方介绍)Arduino 是一款便捷灵活.方便上手的开源电子原型平台,包含硬件(各种型号的arduino板)和软件(arduino IDE).她适用于艺术家. ...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值