php 从数组中删除元素

发表于 2021-01-08  1.05k 次阅读


timg.jpg

在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删除数组元素记录完毕

本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

0

一盏灯 一座城 找一人 一路的颠沛流离