Веб-мастерская Ларисы ВоронинойМногомерные массивы в PHP
WEB-мастерская Ларисы Ворониной logo

Многомерные массивы в PHP Апр 23 2017

В многомерных массивах элементами могут быть другие массивы.

Вот простой пример двумерного массива.

<?php
$users= array (
     array("Вася","Vasya","123"),
     array("Петя","Petya","456"),
     array("Маша","Masha","789"),
);
echo $users [0][0];
echo "<br>";
?>

В браузере выведется имя «Вася».

Почему?

Потому, что в массиве $users нулевым по счёту является первый массив, а нулевым по счёту элементом является имя «Вася».

Таким образом, можно вывести любой элемент многомерного массива, например логин Маши.

echo $users [2][1];
echo "<br>";

Или пароль Пети.

echo $users [1][2];
echo "<br>";

Также все элементы массива можно вывести в виде таблицы, используя цикл for.

echo "<table border='1'>";
echo "<tr>
<td>Имя</td>
<td>Логин</td>
<td>Пароль</td>
</tr>";
for ($row = 0; $row < 3; $row++) {
echo "<tr>";
for ($col = 0; $col < 3; $col++) {
echo "<td>".$users[$row][$col]."</td>";
}
echo "</tr>";
}
echo "</table>";

В браузере мы увидим вот такую таблицу.

Двумерный ассоциативный массив.

<?php
$users = array(
     array("name" => "Вася",
                "login" => "Vasya",
                "password" => "123"
     ),
     array("name" => "Петя",
                "login" => "Petya",
                "password" => "456"
     ),
     array("name" => "Маша",
                "login" => "Masha",
                "password" => "789"
     )
);
echo $users ["2"]["name"];
echo "<br>";
echo $users ["0"]["name"]." имеет логин ". $users ["0"]["login"];
echo "<br>";
?>

Перебор двумерного ассоциативного массива осуществляется с помощью циклов for и foreach.

echo "<table border='1'>";
echo "<tr>
<td>Имя</td>
<td>Логин</td>
<td>Пароль</td>
</tr>";
for ($row = 0; $row < 3; $row++) {
echo "<tr>";
foreach($users[$row] as $key => $value) {
echo "<td>".$value."</td>";
}
echo "</tr>";
}
echo "</table>";

В браузере мы получим точно такую же таблицу, как и в первом примере.

Другие статьи.

Массивы в PHP
Ассоциативные массивы в PHP


Рейтинг@Mail.ru