PHP删除数组中某元素

array_splice

代码如下:

1
2
3
4
5
6
$arr = array(1, 2, 3, 4, 5);
$key = array_search(3, $arr);

if ($key !== false)
array_splice($arr, $key, 1);
var_dump($arr);

输出:

1
array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(4) [3]=> int(5) }

array_splice

代码如下:

1
2
3
4
5
6
$arr = array(1, 2, 3, 4, 5);
foreach ($arr as $key => $value) {
if ($value === 3)
unset($arr[$key]);
}
var_dump($arr);

输出:

1
array(4) { [0]=> int(1) [1]=> int(2) [3]=> int(4) [4]=> int(5) }

总结

可以看到使用array_splice()删除特定值和使用unset删除特定值是有区别的。

array_splice()函数删除的话,数组的索引值也产生变化。

unset()函数删除的话,数组的索引值没有变化。

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :