PHP 更新数组项

更新数组项

要更新现有的数组项,对于索引数组,您可以引用索引号;对于关联数组,您可以引用键名。

实例

将第二个数组项从 "BMW" 更改为 "Ford":

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

亲自试一试

注意:第一个项目的索引是 0。

要从关联数组中更新项目,请使用键名:

实例

将年份更新为 2024:

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

亲自试一试

在 foreach 循环中更新数组项

foreach 循环中更改项值时,有不同的技术可以使用。

一种方法是在赋值中插入 & 字符,按引用分配项值,从而确保在循环内部对数组项所做的任何更改都将应用于原始数组:

实例

将所有项值更改为 "Ford":

$cars = array("Volvo", "BMW", "Audi");
foreach ($cars as &$x) {
  $x = "Ford";
}
unset($x);
var_dump($cars);

亲自试一试

注意:记得在循环后添加 unset() 函数。

如果没有 unset($x) 函数,$x 变量将保持对最后一个数组项的引用。

为了演示这一点,请查看在 foreach 循环后更改 $x 的值时会发生什么:

实例

演示忘记使用 unset() 函数的后果:

$cars = array("Volvo", "BMW", "Audi");
foreach ($cars as &$x) {
  $x = "Ford";
}

$x = "ice cream";

var_dump($cars);

亲自试一试