Создание 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(начальный_индекс, количество_элементов, значение)
$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'Итоги: Сортировка таблицы лидеров