Двумерный массив — это массив, где каждый элемент является другим массивом. В обычном массиве каждый элемент представляет собой переменную или значение (например, 1, 2, «строка»). В двумерном массиве каждый элемент — отдельный массив, содержащий переменные или значения.
Создание двумерного массива
Создадим двумерный массив в PHP:
$array = array(
array(12, 44, 46, "string"),
array(20),
array(45, "string")
);
Этот массив содержит три элемента. Каждый элемент — отдельный массив. Количество элементов во вложенных массивах может быть различным (в первом — четыре, во втором — один, в третьем — два).
Доступ к элементам двумерного массива
Для доступа к элементу двумерного массива указывают индекс внешнего и внутреннего массива. Нумерация элементов начинается с нуля.
Например, вывод элемента 12:
echo $array[0][0]; // Выведет 12
[0] — обращение к первому (нулевому) элементу внешнего массива, а [0] — к первому (нулевому) элементу внутреннего массива. Вывод элемента string из третьего внутреннего массива:
echo $array[2][1]; // Выведет "string"
Замена элементов происходит аналогично работе с обычными массивами. Функции, изученные ранее, также применимы к двумерным массивам.
Перебор элементов двумерного массива
Для перебора удобно использовать вложенные циклы for:
for ($i = 0; $i < count($array); $i++) {
for ($j = 0; $j < count($array[$i]); $j++) {
echo $array[$i][$j] . " ";
}
echo "<br>";
}
Внешний цикл перебирает внешние элементы, внутренний — элементы каждого внутреннего массива. count($array[$i]) вычисляет количество элементов во внутреннем массиве с индексом $i.
Для более наглядного вывода в виде матрицы:
for ($i = 0; $i < count($array); $i++) {
for ($j = 0; $j < count($array[$i]); $j++) {
echo $array[$i][$j] . " | "; // Разделитель между элементами строки
}
echo "<br>"; // Переход на новую строку
}
Многомерные массивы
После двумерных массивов следуют трехмерные, четырехмерные и т.д. Однако массивы большей размерности используются реже, чем двумерные. Трехмерный массив — это массив, в котором каждый элемент является двумерным массивом. Например:
$array3d = array(
array(
array(49, 50, 51),
array(52, 53, 54)
),
array(
array(55, 56),
array(57, 58, 59)
)
);
Двумерные массивы — мощный инструмент в PHP для хранения и обработки данных в табличной форме. Понимание принципов работы с ними открывает широкие возможности для создания более сложных веб-приложений. Умение работать с двумерными массивами необходимо для разработки продвинутых проектов.