Menu
Coddy logo textTech

Изменение элементов 2D-массива

Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 29 из 68.

Как только вы научитесь получать доступ к элементам двумерного массива, следующим логическим шагом будет изучение того, как изменять их значения. Изменение элементов в двумерном массиве использует тот же синтаксис двойной индексации, что и доступ к ним, но с оператором присваивания для установки нового значения.

Вот как можно изменить конкретный элемент в двумерном массиве:

<?php
$gameBoard = [
    ["", "", ""],
    ["", "", ""],
    ["", "", ""]
];

// Изменяем центральную ячейку на 'X'
$gameBoard[1][1] = "X";

// Изменяем верхний левый угол на 'O'
$gameBoard[0][0] = "O";
?>

Синтаксис $gameBoard[1][1] = "X" обращается к строке 1, столбцу 1 (центру сетки 3x3) и присваивает значение "X" этой позиции. Это напрямую изменяет исходный массив, заменяя любое значение, которое было там раньше.

Эта техника модификации необходима для обновления состояний игры, изменения данных в таблицах или любого сценария, где вам нужно изменить определенные позиции в вашей сеточной структуре данных. Способность точно определять и обновлять конкретные местоположения делает двумерные массивы идеальными для представления динамической, изменяемой информации, организованной в строки и столбцы.

quiz iconПроверьте себя

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

quiz iconПроверьте себя

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

quiz iconПроверьте себя

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

challenge icon

Задание

Легко

Вы получите четыре входных данных: двумерный массив, представляющий схему рассадки в формате JSON, индекс строки, индекс столбца и имя нового пассажира. Прочитайте все четыре входных значения, преобразуйте строку JSON в двумерный массив, измените элемент в указанной строке и столбце, присвоив ему имя нового пассажира, и выведите обновленный двумерный массив с помощью print_r().

Двумерный массив представляет собой схему рассадки, где каждый элемент содержит имя пассажира или пустую строку для свободных мест.

Формат входных данных:

  • Первая строка: JSON-массив, представляющий схему рассадки (пример: [["Alice","Bob",""],["","Charlie","Diana"],["","",""]])
  • Вторая строка: Индекс строки (целое число)
  • Третья строка: Индекс столбца (целое число)
  • Четвертая строка: Имя нового пассажира (строка)

Ожидаемый результат: Измененный двумерный массив, отображаемый с помощью print_r()

Шпаргалка

Чтобы изменить элементы в двумерном массиве, используйте синтаксис двойной индексации с оператором присваивания:

$array[row][column] = newValue;

Пример изменения игрового поля:

<?php
$gameBoard = [
    ["", "", ""],
    ["", "", ""],
    ["", "", ""]
];

// Изменяем центральную ячейку на 'X'
$gameBoard[1][1] = "X";

// Изменяем верхний левый угол на 'O'
$gameBoard[0][0] = "O";
?>

Это напрямую изменяет исходный массив, заменяя значение в указанной позиции. Техника модификации необходима для обновления динамических данных, организованных в виде строк и столбцов.

Попробуйте сами

<?php
// Чтение входных данных
$json_input = trim(fgets(STDIN));
$row_index = intval(fgets(STDIN));
$col_index = intval(fgets(STDIN));
$new_passenger = trim(fgets(STDIN));

// Преобразование JSON в двумерный массив
$seating_chart = (array)json_decode($json_input, true);

// TODO: Напишите свой код ниже, чтобы изменить схему рассадки


// Вывод измененного массива
print_r($seating_chart);
?>
quiz iconПроверьте себя

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

Все уроки раздела Логика и управление потоком