Підступна війна росії проти України. Орієнтовні втрати ворога
(станом на 22.04.2024)
460260
осіб
348
літаків
325
гелікоптерів
7236
танків
13904
ББМ
11736
артилерія
768
ППО
1046
РСЗВ
15812
машин
26
кораблі і катери
Уроки 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>";
  }
}
?>

 

 

 

От і все. Сподіваємося, що даний урок став вам у нагоді, і ви знайшли його корисним.

Дякуємо, що читаєте нас!

 

 

Напишіть тут свою думку/питання

Ваша пошта не публікуватиметься. Обов’язкові поля позначені *