Menu
Coddy logo textTech

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, какой именно элемент нужно заменить, оставляя все остальные элементы нетронутыми.

challenge icon

Задание

Легко

Прочитайте строку ввода, содержащую значения, разделённые запятыми, представляющую список цветов (например, Red,Green,Blue,Yellow).

Затем прочитайте ещё три входных значения:

  • Целое число index1, представляющее первый индекс для изменения
  • Строку newValue1, представляющую новое значение для этого индекса
  • Целое число index2, представляющее второй индекс для изменения

Создайте массив из строки с разделителями-запятыми, затем:

  1. Измените элемент по индексу index1 на newValue1
  2. Измените элемент по индексу 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";
}
?>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор PHP