Menu
Coddy logo textTech

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

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

Многомерный array — это просто array, который содержит другие array в качестве своих элементов. Самый распространённый тип — это 2D array, который можно представить как grid со строками rows и столбцами columns, подобно электронной таблице или игровому полю.

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

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

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

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

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

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

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

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

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

challenge icon

Задание

Легко

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

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

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

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

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

<?php
// Прочитать ввод
$rows = intval(fgets(STDIN));
$columns = intval(fgets(STDIN));
$value = trim(fgets(STDIN));

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


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

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

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

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