Коварная война россии против Украины. Ориентировочные потери врага
(по состоянию на 24.05.2022)
29350
солдат
205
самолетов
170
вертолетов
1302
танков
3194
ББМ
606
артиллерия
93
ПВО
201
РСЗО
2213
машин
13
корабли и катера
Уроки PHP – Многомерный массив

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

 

 

 

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

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

 

 

1 комментарий для “Уроки PHP – Многомерный массив

Добавить комментарий

Ваш адрес email не будет опубликован.