Уроки 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>";    }  }  ?>  

 

 

 

Вот и все. Надеемся, что данный урок пригодился вам, и вы нашли его полезным.

Спасибо, что читаете нас!