Menu
CoddyTech

Создание 2D-массива

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

Многомерный массив — это просто массив, элементами которого являются другие массивы. Самый распространённый тип — двумерный массив, который можно представить в виде сетки со строками и столбцами, похожей на электронную таблицу или игровое поле.

Создать двумерный массив в PHP просто. Вы создаёте массив, каждый элемент которого сам является массивом:

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

Это создает сетку 3x3, в которой каждый внутренний массив представляет строку, а каждый элемент этих массивов представляет столбец. Вы также можете создавать двумерные массивы с разными типами данных:

<?php
$scores = [
    [85, 92, 78],
    [90, 88, 95],
    [76, 84, 89]
];
?>

В PHP также есть встроенная функция с названием array_fill(), которая позволяет быстро создать массив, заполненный определённым значением. Она принимает три аргумента: начальный индекс, количество элементов и значение для заполнения:

<?php
// array_fill(start_index, num_elements, value)
$row = array_fill(0, 3, 0); // [0, 0, 0]
?>

Вы можете объединить array_fill() с самой собой, чтобы эффективно создать двумерный массив. Например, чтобы создать сетку 3x3, в которой каждая ячейка изначально содержит 0:

<?php
$grid = array_fill(0, 3, array_fill(0, 3, 0));
// Результат: массив 3x3, в котором каждый элемент равен 0
?>

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

challenge icon

Задание

Легко

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

Формат ввода:

  • Первая строка: количество строк (целое число)
  • Вторая строка: количество столбцов (целое число)
  • Третья строка: начальное значение для каждого элемента (строка)

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

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

<?php
// Считайте входные данные
$rows = intval(fgets(STDIN));
$columns = intval(fgets(STDIN));
$value = trim(fgets(STDIN));

// TODO: Напишите ниже код для создания двумерного массива


// Выведите результат
print_r($array);
?>
quiz iconПроверьте себя

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

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

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