Уроки PHP – Многомерный массив
В сегодняшнем небольшом уроке мы покажем вам, что такое многомерные массивы, как создавать и управлять многомерными массивами в PHP.
Уровень сложности: начальный.
Введение в многомерный массив PHP
Как вы знаете, массивы представляют собой список пар из ключей и их значений. Обычно ключом является число (или строка в случае ассоциативных массивов), а значением является любой тип данных. И это важно, поскольку это означает, что значением может быть и другой массив. Таким образом, если вы создаете массив, где значения также являются массивами, тогда получается, что вы создали многомерный массив. Опять-таки, значения в этом внутреннем массиве могут быть новым массивом и так далее. Чтобы освежить в памяти основную информацию о массивах в PHP, прочитайте нашу предыдущую статью по данной теме.
Давайте теперь посмотрим на простой пример многомерного массива. Предположим, вы хотите хранить информацию о пользователях. У вас есть много пользователей, и у каждого пользователя есть свои определенные данные, такие как имя, возраст, адрес электронной почты, личный сайт и так далее.
- Остап
- email: ostap@pochta.com
- website: www.sait-ostapa.com
- age: 25
- Галина
- email: galina@pochta.com
- website: www.sait-galini.com
- age: 36
- Степан
- email: stepan@pochta.com
- website: www.sait-stepana.com
- age: 19
Создание многомерного массива в PHP
Теперь давайте посмотрим, как определить такой массив в PHP. Вы можете сделать это небольшими частями, и в этом случае вы сначала определяете подмассивы, а затем добавляете их в основной массив следующим образом:
<?php $user_01 = array( "email" => "ostap@pochta.com", "website" => "www.sait-ostapa.com", "age" => "25" ); $user_02 = array( "email" => "galina@pochta.com", "website" => "www.sait-galini.com", "age" => "36" ); $user_03 = array( "email" => "stepan@pochta.com", "website" => "www.sait-stepana.com", "age" => "19" ); $userList = array( "Остап" => $user_01, "Галина" => $user_02, "Степан" => $user_03 ); ?>
Конечно, вы можете сделать все это только за один шаг, например, так:
<?php $userList = array( "Остап" => array( "email" => "ostap@pochta.com", "website" => "www.sait-ostapa.com", "age" => "25" ), "Галина" => array( "email" => "galina@pochta.com", "website" => "www.sait-galini.com", "age" => "36" ), "Степан" => array( "email" => "stepan@pochta.com", "website" => "www.sait-stepana.com", "age" => "19" ) ); ?>
Теперь пришло время поработать с нашим новым массивом и попытаться извлечь из него информацию с помощью средств PHP.
Вывод информации из многомерного массива в PHP
На практике сделать вывод данных элемента из многомерного массива не так уж и сложно. Вам просто нужно определять нужное количество ключей, когда вы хотите получить доступ к заданному значению массива. Вы можете сделать это, например, так:
<?php echo "Возраст Остапа - " . $userList["Остап"]["age"] . " лет."; ?>
В некоторых случаях вам может понадобиться вывести всю информацию об определенном пользователе. Вы можете сделать это следующим образом:
<?php foreach ($userList["Остап"] as $key => $value) { echo "Остап $key - $value <br>"; } ?>
И в качестве последнего примера, мы рассмотрим вариант, когда вам нужно вывести всю информацию из многомерного массива в PHP. В этом случае лучше всего подойдет создание вложенных циклов, например foreach
, следующим образом:
<?php foreach ($userList as $key => $value) { echo "Текущий пользователь - $key.<br>"; foreach ($value as $iKey => $iValue) { echo " ---> $iKey - $iValue <br>"; } } ?>
Вот и все. Надеемся, что данный урок пригодился вам, и вы нашли его полезным.
Спасибо, что читаете нас!
Raisa
Спасибо. Урок уникальный и полезный.