Изменение элементов по индексу
Часть раздела Основы путешествия по 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";
}
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравненияРавенство и идентичностьЛогические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логика2Переменные и типы данных
ЧислаСтроки и кавычкиБулевы значенияСоглашения об именованииПовторение — инициализация переменныхПустые переменныеКонкатенация строкПолучение пользовательского вводаПриведение к другим типам5Условная логика
Оператор ifIf — ElseТернарный операторОператор нулевого слиянияОператор switchПовторение: принятие решений3Основные операторы
Арифметические операторыОператор остатка от деленияОператор возведения в степеньСоставное присваиваниеИнкремент/декрементПриоритет операторовПовторение — простые вычисленияОператоры строк6Массивы, часть 1 — индексированные
Введение в массивыСоздание индексированных массивовДоступ к элементам по индексуИзменение элементов по индексуРазмер массива с помощью CountДобавление элементов в массивПовторение — управление простым спискомПотренируйтесь самостоятельно: Онлайн-компилятор PHP