首页 > 技术文章 > PHP实现删除数组中的特定元素

Steven-shi 2016-09-09 22:41 原文

方法1:

1 <?php
2 $arr1 = array(1,3, 5,7,8);
3 $key = array_search(3, $arr1);
4 if ($key !== false)
5     array_splice($arr1, $key, 1);
6 var_dump($arr1);
7 ?>

返回结果:array(4) { [0]=> int(1) [1]=> int(5) [2]=> int(7) [3]=> int(8) }

方法2:

1 <?php
2 $arr2 = array(1,3, 5,7,8);
3 foreach ($arr2 as $key=>$value)
4 {
5     if ($value === 3)
6         unset($arr2[$key]);
7 }
8 var_dump($arr2);
9 ?>

返回结果:array(4) { [0]=> int(1) [2]=> int(5) [3]=> int(7) [4]=> int(8) }

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

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

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

推荐阅读