方法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()函數刪除的話,數組的索引值沒有變化