php用什么方法删除数组的最后一个元素_教你删除数组的最后一位?

Դ百度

ߣseo技术

18

2021-11-06 13:43:14

引言

PHP数组操作,之前我们讲过如何根据值对多维数组进行排序。今天,我们将讨论如何根据值删除数组元素。

php删除数组最后一个元素使用什么方法(教你删除数组最后一位)

学习时间

假设有一个一维数组,一个简单的数字数组。为了简化问题,我们假设数组元素中没有重复。

$ messages=[3124011599,3,];

那么如何删除元素“401”呢?

最简单的方法是使用array_search和unset函数。代码如下:

if (($key=array_search($del_val,$messages))!==false){ 0

unset($ messages[$ key]);

}

函数array_search是在数组中搜索给定的值,如果成功则返回相应的键名.函数。如果没有找到匹配的值,则返回false。

我们使用变量$key来获取array_search的返回值。如果不是假的,它就存在。然后调用unset函数将其删除。

需要注意的是,比较运算符必须使用"!=="这并不都等于符号,否则如果返回数组索引0,也会被判断为null,即0==false。

其他方法

用另一种方式处理。我们尝试使用array_diff函数来计算差集,我们可以删除任意数量元素的值:

array_diff([312,401,15,401,3],[401])

但是,这个函数的副作用是返回值是一个新数组,索引键值保持不变。同时,原始数组的内容保持不变。

深入使用

上面给出的前提很简单,就是数组中有不同的数据。实际上,很难保证这一点。除非是模型返回的主键或具有唯一约束的字段,否则不能保证数据集中没有相同的值。

手册中也说了,应该使用array_keys函数,根据值去除数据中所有对应的元素。

foreach (array_keys($messages,401,true)作为$ key){ 0

unset($ messages[$ key]);

}

array_keys函数的第三个参数是可选的,用于标记过滤模式是否严格。

写在最后

本文演示了如何通过不同的方法根据值从数组中移除相应的元素。

快乐编码:_)

佭ϴý Ѷ Media8ý

在线客服

外链咨询

扫码加我微信

微信:juxia_com

返回顶部