array_splice
代码如下:
$arr = array(1, 2, 3, 4, 5);
$key = array_search(3, $arr);
if ($key !== false)
array_splice($arr, $key, 1);
var_dump($arr);
输出:
array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(4) [3]=> int(5) }
array_splice
代码如下:
$arr = array(1, 2, 3, 4, 5);
foreach ($arr as $key => $value) {
if ($value === 3)
unset($arr[$key]);
}
var_dump($arr);
输出:
array(4) { [0]=> int(1) [1]=> int(2) [3]=> int(4) [4]=> int(5) }
总结
可以看到使用array_splice()删除特定值和使用unset删除特定值是有区别的。
array_splice()函数删除的话,数组的索引值也产生变化。
unset()函数删除的话,数组的索引值没有变化。