PHP - Многомерные массивы
Многомерный массив — это массив, содержащий один или несколько массивов.
PHP поддерживает многомерные массивы глубиной в два, три, четыре, пять или более уровней. Однако массивы глубиной более трех уровней сложны для управления для большинства людей.
PHP - Двумерные массивы
Двумерный массив — это массив массивов (трехмерный массив — это массив массивов массивов).
Взгляните на следующую таблицу:
| Марка | На складе | Продано |
|---|---|---|
| Volvo | 22 | 18 |
| BMW | 15 | 13 |
| Saab | 5 | 2 |
| Land Rover | 17 | 15 |
Мы можем хранить данные из таблицы выше в двумерном массиве, вот так:
$cars = array (
array("Volvo", 22, 18),
array("BMW", 15, 13),
array("Saab", 5, 2),
array("Land Rover", 17, 15)
);
Теперь двумерный массив $cars содержит четыре массива и имеет два индекса: строку и столбец.
Чтобы получить доступ к элементам массива $cars, мы должны указать два индекса (строку и столбец):
Пример
echo $cars[0][0].": На складе: ".$cars[0][1].", продано: ".$cars[0][2].".<br>";
echo $cars[1][0].": На складе: ".$cars[1][1].", продано: ".$cars[1][2].".<br>";
echo $cars[2][0].": На складе: ".$cars[2][1].", продано: ".$cars[2][2].".<br>";
echo $cars[3][0].": На складе: ".$cars[3][1].", продано: ".$cars[3][2].".<br>";
Попробуйте сами »
Размерность массива указывает количество индексов, необходимых для выбора элемента.
- Для двумерного массива вам нужно два индекса для выбора элемента
- Для трехмерного массива вам нужно три индекса для выбора элемента
PHP - Перебор многомерных массивов
Для перебора многомерного массива используйте цикл for или цикл foreach.
Здесь мы используем цикл for внутри другого цикла for, чтобы получить элементы массива $cars (мы все еще должны указать два индекса):
Пример
for ($row = 0; $row < 4; $row++) {
echo "<p><b>Строка номер $row</b></p>";
echo "<ul>";
for ($col = 0; $col < 3; $col++) {
echo "<li>".$cars[$row][$col]."</li>";
}
echo "</ul>";
}
Попробуйте сами »
Здесь мы используем цикл foreach внутри другого цикла foreach, чтобы получить элементы массива $cars.
Здесь мы помещаем результат в HTML-таблицу:
Пример
echo "<table>";
echo "<tr><th>Марка</th><th>На складе</th><th>Продано</th></tr>";
foreach ($cars as $row) {
echo "<tr>";
foreach ($row as $cell) {
echo "<td>" . $cell . "</td>";
}
echo "</tr>";
}
echo "</table>";
Попробуйте сами »
Полный справочник массивов PHP
Для полного справочника по всем функциям массивов перейдите к нашему Справочнику массивов PHP.
Справочник содержит краткое описание и примеры использования для каждой функции!