Ранее в этом учебнике, мы описали массивы, которые представляют собой единый список пар ключ / значение.
Тем не менее, иногда вы хотите сохранить значения с более чем одной клавиши.
Это может быть сохранено в многомерных массивах.
PHP - многомерные массивы
Многомерный массив представляет собой массив, содержащий один или более массивов.
PHP понимает многомерные массивы, которые два, три, четыре, пять или более глубоких уровней. Однако массивы более трех уровней глубоко трудно управлять для большинства людей.
Размерность массива указывает количество индексов , которые необходимо выбрать элемент.
- Для двумерного массива вам необходимо два индекса для выбора элемента
- Для трехмерного массива вам нужно три индекса для выбора элемента
PHP - Двумерные массивы
Двумерный массив представляет собой массив из массивов (a three-dimensional array is an array of arrays of arrays) .
Во-первых, обратите внимание на следующую таблицу:
имя | Акции | Продан |
---|---|---|
Volvo | 22 | 18 |
БМВ | 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)
);
Теперь двумерный $ автомобилей массив содержит четыре массива, и он имеет два индекса: строки и столбец.
Чтобы получить доступ к элементам массива $ автомобилей , мы должны указать на два индексы (row and column) :
пример
<?php
echo $cars[0][0].": In stock: ".$cars[0][1]." , sold:
".$cars[0][2]." .<br>";
echo $cars[1][0].": In
stock: ".$cars[1][1]." , sold: ".$cars[1][2]." .<br>";
echo $cars[2][0].":
In stock:
".$cars[2][1]." , sold: ".$cars[2][2]." .<br>";
echo
$cars[3][0].": In stock: ".$cars[3][1]." , sold: ".$cars[3][2]." .<br>";
?>
Выполнить пример » Мы также можем поставить цикл внутри другого цикла Для того чтобы получить элементы массива $ автомобилей (we still have to point to the two indices) :
пример
<?php
for ($row = 0; $row < 4; $row++) {
echo
"<p><b>Row number $row</b></p>";
echo "<ul>";
for ($col
= 0; $col < 3; $col++) {
echo
"<li>" .$cars[$row][$col]."</li>";
}
echo
"</ul>";
}
?>
Выполнить пример »