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);