Создание 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
?>Многомерные массивы невероятно полезны для организации структурированных данных, таких как игровые поля, таблицы с информацией или любые сценарии, в которых нужно представить данные в формате сетки. Они предоставляют естественный способ работы со строками и столбцами связанной информации.
Задание
ЛегкоВы получите три входных значения, представляющих размеры и начальное значение для двумерного массива: количество 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);
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
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