PHP 删除数组项

删除数组项

要从数组中删除现有项,您可以使用 array_splice() 函数。

使用 array_splice() 函数时,您需要指定索引(从哪里开始)以及要删除的项目数量。

实例

删除第二项:

$cars = array("Volvo", "BMW", "Audi");
array_splice($cars, 1, 1);

亲自试一试

删除后,数组会自动重新索引,从索引 0 开始。

使用 unset 函数

您还可以使用 unset() 函数来删除现有的数组项。

注意:unset() 函数不会重新排列索引,这意味着在删除后,数组将不再包含缺失的索引。

实例

删除第二项:

$cars = array("Volvo", "BMW", "Audi");
unset($cars[1]);

亲自试一试

删除多个数组项

如需删除多个项目,array_splice() 函数有一个 length 参数,允许您指定要删除的项目数量。

实例

从第二项(索引 1)开始删除 2 个项目:

$cars = array("Volvo", "BMW", "Audi");
array_splice($cars, 1, 2);

亲自试一试

unset() 函数接受无限数量的参数,因此可用于删除多个数组项:

实例

删除第一项和第二项:

$cars = array("Volvo", "BMW", "Audi");
unset($cars[0], $cars[1]);

亲自试一试

从关联数组中删除项

要从关联数组中删除项,您可以使用 unset() 函数。

请指定要删除的项的键。

实例

删除 "model":

$cars = array("brand" => "Ford", "model" => "Mustang", "year" => 1964);
unset($cars["model"]);

亲自试一试

使用 array_diff 函数

您还可以使用 array_diff() 函数从关联数组中删除项。

此函数返回新数组,不包含指定的项。

实例

创建一个新数组,不包含 "Mustang" 和 "1964":

$cars = array("brand" => "Ford", "model" => "Mustang", "year" => 1964);
$newarray = array_diff($cars, ["Mustang", 1964]);

亲自试一试

注意:array_diff() 函数将值作为参数,而不是键。

删除最后一个项

array_pop() 函数删除数组的最后一个项。

实例

删除最后一个项:

$cars = array("Volvo", "BMW", "Audi");
array_pop($cars);

亲自试一试

删除第一个项

array_shift() 函数删除数组的第一个项。

实例

删除第一个项:

$cars = array("Volvo", "BMW", "Audi");
array_shift($cars);

亲自试一试