Обновление элементов массива PHP
Чтобы обновить существующий элемент массива, вы можете обратиться к номеру индекса для индексированных массивов и к имени ключа для ассоциативных массивов.
Пример
Измените второй элемент массива с "BMW" на "Ford":
$cars = array("Volvo", "BMW", "Toyota");
$cars[1] = "Ford";
Попробуйте сами »
Примечание: Первый элемент имеет индекс 0.
Чтобы обновить элементы из ассоциативного массива, используйте имя ключа:
Пример
Обновите год до 2024:
$cars = array("brand" => "Ford", "model" => "Mustang", "year" => 1964);
$cars["year"] = 2024;
Попробуйте сами »
Обновление элементов массива в цикле Foreach
Существуют разные приемы, которые следует использовать при изменении значений элементов в цикле
foreach.
Один из способов — вставить символ & в присваивание, чтобы присвоить значение элемента по ссылке, и тем самым гарантировать, что любые изменения, внесенные в элемент массива внутри цикла, будут внесены в исходный массив:
Пример
Измените ВСЕ значения элементов на "Ford":
$cars = array("Volvo", "BMW", "Toyota");
foreach ($cars as &$x) {
$x = "Ford";
}
unset($x);
var_dump($cars);
Попробуйте сами »
Примечание: Не забудьте добавить функцию
unset() после цикла. Если её опустить,
переменная $x останется ссылкой на последний элемент массива.
Чтобы продемонстрировать это, посмотрите, что произойдет, когда мы изменим значение
$x после цикла
foreach:
Пример
Продемонстрируйте последствие забытой функции
unset():
$cars = array("Volvo", "BMW", "Toyota");
foreach ($cars as &$x) {
$x = "Ford";
}
$x = "мороженое";
var_dump($cars);
Попробуйте сами »