在php中可以用'unset'方法删除
$arr = [1,2,3]; unset($arr[1]);//[0 => 1, 2 => 3];
虽然这样可以删除数组的元素了,但坑爹的是数组的索引是不会变的-.-。导致它在别的语言中认为是对象了,不是数组了。
我们可以用'array_values'方法重置下索引
$arr = array_values($arr);//[0 => 1, 1 => 3];
'array_splice'方法也可以删除元素,而且在删除元素的同时改变(重置)数组的索引
$arr = [1,2,3]; $arr = array_splice($arr[1]);//[0 => 1, 1 => 3];
array_splice方法相当与unset+array_valuse的结合
'array_diff'方法可以删除多个元素,但数组的索引是不变的,和unset一样
$arr = [1,2,3]; $arr = array_diff($array, [1, 2]);//[2 => 3];
'array_diff_key'方法可以根据key来删除,但数组的索引是不变的,和unset一样
$arr = [1,2,3]; $arr = array_diff_key($array, [0 => '', 1 => '']);//[2 => 3];
值可以随便写,感觉值是没有用的-.-
php删除数组元素记录完毕
COMMENTS | NOTHING