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;  // Update first score
$scores[2] = 82;  // Update last score

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
$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";
}
?>
quiz iconПроверьте себя

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

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