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; // Обновить первый балл
$scores[2] = 82; // Обновить последний балл
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
// Прочитать цвета, разделённые запятыми
$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 на точный текст из инструкций
// Вывести каждый элемент на отдельной строке
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Потренируйтесь самостоятельно: Онлайн-компилятор PHP