PHP删除数组中特定元素的两种方法

今天小编就为大家分享一篇关于PHP删除数组中特定元素的两种方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧。

方法一:

  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) }

方法二:

  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()函数删除的话,数组的索引值没有变化。