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

本篇文章主要介绍了PHP从数组中删除元素的四种方法实例

 

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

使用 unset 函数,示例如下:




1


2


3


4


5




​<?php​


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


​unset(​​​​$array​​​​[1]);​


​//↑ 你想删除的key​


​?>​



输出:

Array (

    [0] => a

    [2] => c

)

使用 unset 并未改变数组的原有索引。如果打算重排索引(让索引从0开始,并且连续),可以使用 array_values 函数




1


2


3


4


5


6


7


8


9


10




​$array​​ ​​= ​​​​array_values​​​​(​​​​$array​​​​);​


​/*​


​输出​


​array(2) {​


​[0]=>​


​string(1) "a"​


​[1]=>​


​string(1) "c"​


​}​


​*/​



删除一个元素,不保持索引

使用 array_splice 函数,示例如下:




1


2


3


4


5




​<?php​


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


​array_splice​​​​(​​​​$array​​​​, 1, 1);​


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


​?>​



输出:

Array (

    [0] => a

    [1] => c

)

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

使用 array_diff 函数,示例如下:




1


2


3


4


5




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




1


2


3


4


5


6




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

 


我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: ​​fanrenyi.com​​;有各种前端、后端、算法、大数据、人工智能等课程。

​版权申明:欢迎转载,但请注明出处​

一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。

博主25岁,前端后端算法大数据人工智能都有兴趣。