Создание 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
?>Многомерные массивы невероятно полезны для организации структурированных данных, таких как игровые поля, таблицы с информацией или любые ситуации, в которых нужно представить данные в виде сетки. Они обеспечивают естественный способ работы со строками и столбцами связанных данных.
Задание
ЛегкоТы получишь три входных значения, задающих размеры и начальное значение двумерного массива: количество строк, количество столбцов и значение для заполнения каждой позиции. Считай эти значения, создай двумерный массив указанных размеров, в котором каждый элемент установлен в заданное значение, и выведи массив с помощью print_r().
Формат ввода:
- Первая строка: количество строк (целое число)
- Вторая строка: количество столбцов (целое число)
- Третья строка: начальное значение для каждого элемента (строка)
Ожидаемый вывод: созданный двумерный массив, выведенный с помощью print_r()
Попробуйте сами
<?php
// Считайте входные данные
$rows = intval(fgets(STDIN));
$columns = intval(fgets(STDIN));
$value = trim(fgets(STDIN));
// TODO: Напишите ниже код для создания двумерного массива
// Выведите результат
print_r($array);
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Продвинутые функции
Анонимные функцииЗамыкания и 'use'Стрелочные функцииCallback-функцииИспользование 'call_user_func'Функции переменныхПередача по ссылкеРекурсивные функцииИтоги: ассорти из функций4Многомерные массивы
Создание 2D-массиваДоступ к элементам 2D-массиваИзменение элементов 2D-массиваИтерация с вложенными цикламиДвумерные ассоциативные массивыИтоги: Упражнение «Простая сетка»2Продвинутая работа с массивами
Добавление с помощью 'array_push'Удаление с помощью 'array_pop'Добавление с помощью 'array_unshift'Удаление с помощью 'array_shift'Слияние индексных массивовСлияние ассоциативных массивовИзвлечение с помощью 'array_slice'Поиск значений с 'in_array'Поиск ключей с 'array_search'Итоги: Упражнение «Плейлист»3Сортировка массивов
Сортировка индексных массивов по возрастаниюСортировка индексных массивов по убываниюСортировка ассоциативных массивов по значениюСортировка ассоциативных массивов по ключуСортировка в естественном порядкеПользовательская сортировка с помощью 'usort'Итоги: Сортировка таблицы лидеровПотренируйтесь самостоятельно: Онлайн-компилятор PHP