Modifying Elements by Index
Часть раздела Основы путешествия по PHP на Coddy — урок 37 из 71.
Вы научились получать доступ к элементам массива по их индексу. Теперь давайте посмотрим, как изменить эти элементы. Изменение элемента массива использует тот же синтаксис квадратных скобок, но с присваиванием.
<?php
$fruits = ["Apple", "Banana", "Cherry"];
$fruits[1] = "Blueberry";
echo $fruits[1]; // Blueberry
?>Здесь мы заменили "Banana" по индексу 1 на "Blueberry". Исходное значение исчезло — массивы не сохраняют историю изменений.
Вы можете изменить любой элемент, если знаете его индекс:
<?php
$scores = [85, 90, 78];
$scores[0] = 95; // Update first score
$scores[2] = 82; // Update last score
echo $scores[0]; // 95
echo $scores[2]; // 82
?>Это полезно, когда вам нужно обновить данные в вашем списке — например, исправить опечатку, обновить цену или изменить статус пользователя. Индекс точно указывает PHP, какой элемент заменить, оставляя все остальные элементы нетронутыми.
Задание
ЛегкоПрочитайте строку ввода, содержащую значения, разделенные запятыми, представляющие список цветов (например, Red,Green,Blue,Yellow).
Затем прочитайте еще три входных значения:
- Целое число
index1, представляющее первый индекс для изменения - Строку
newValue1, представляющую новое значение для этого индекса - Целое число
index2, представляющее второй индекс для изменения
Создайте массив из входных данных, разделенных запятыми, затем:
- Измените элемент по индексу
index1наnewValue1 - Измените элемент по индексу
index2наPurple
Выведите элементы измененного массива по отдельным строкам, в порядке от индекса 0 до последнего индекса.
Пример:
Если входные данные Red,Green,Blue,Yellow, 0, Orange и 2, то вывод должен быть:
Orange
Green
Purple
YellowЕсли входные данные Apple,Banana,Cherry,Mango,Kiwi, 1, Grape и 4, то вывод должен быть:
Apple
Grape
Cherry
Mango
PurpleШпаргалка
Чтобы изменить элемент массива, используйте индекс с квадратными скобками и присваивание:
<?php
$fruits = ["Apple", "Banana", "Cherry"];
$fruits[1] = "Blueberry"; // Changes "Banana" to "Blueberry"
echo $fruits[1]; // Blueberry
?>Вы можете изменить несколько элементов, указав разные индексы:
<?php
$scores = [85, 90, 78];
$scores[0] = 95; // Update first element
$scores[2] = 82; // Update last element
?>Исходное значение заменяется и не сохраняется. Другие элементы массива остаются неизменными.
Попробуйте сами
<?php
// Считываем цвета, разделённые запятыми
$colorsInput = trim(fgets(STDIN));
$colors = explode(',', $colorsInput);
// Считываем входные данные для модификаций
$index1 = intval(trim(fgets(STDIN)));
$newValue1 = trim(fgets(STDIN));
$index2 = intval(trim(fgets(STDIN)));
// TODO: Напишите свой код здесь
// 1. Измените элемент по индексу index1 на newValue1
// 2. Измените элемент по индексу index2 на "Purple"
// Выводим каждый элемент на отдельной строке
foreach ($colors as $color) {
echo $color . "\n";
}
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators6Arrays Part 1 - Indexed
Introduction to ArraysCreating Indexed ArraysAccessing Elements by IndexModifying Elements by IndexArray Size with CountAdding Elements to an ArrayRecap - Managing a Simple List