举例,在数组中删除3这个数字。
方法1:
<?php
$arr1 = array(1,3, 5,7,8);
$tmp[] = 3;
$arr1 = array_diff($arr1,$tmp);
var_dump($arr1);
返回结果:array(4) { [0]=> int(1) [1]=> int(5) [2]=> int(7) [3]=> int(8) }
方法2:
<?php
$arr2 = array(1,3, 5,7,8);
foreach ($arr2 as $key=>$value)
{
if ($value === 3)
unset($arr2[$key]);
}
var_dump($arr2);
返回结果:array(4) { [0]=> int(1) [2]=> int(5) [3]=> int(7) [4]=> int(8) }
总结:可以看到使用array_splice()删除特定值和使用unset删除特定值是有区别的。
array_splice()
函数删除的话,数组的索引值也变化了。
unset()
函数删除的话,数组的索引值没有变化