Урок 17. Одновимірні і багатовимірні масиви

В попередніх уроках по php ми вивчали масиви з 1 індексом або, іншими словами, одним виміром. Масив у такому випадку мав дуже просту структуру: «ключ => кінцеве значення». На сьогоднішній день розробникам доводиться працювати з веб-додатками, у яких більш складна структура.

Хорошим прикладом багатовимірних даних може бути список зареєстрованих «юзерів» сайту. У масиві даних зберігається інформація не тільки про логін та пароль, а й інша приватна інформація про користувачів. Багатовимірні масиви використовуються для опису саме таких структур.

У багатовимірному масиві кожен елемент має не менше двох індексів. Це досягається за рахунок того, що в php елементом масиву може виступати будь-який тип даних, і інший масив в тому числі. Створюються свого роду «масиви масивів». Для прикладу розглянемо багатовимірний масив користувачів сайту:

<?php
$polzovateli = array (
0 => array (
“login” => “Admin”,
“paswd” => “gh360D12lJ”,
“email” => “adm@somemail.com”,
“profession” => “php programmer”
)
1 => array (
“login” => “Alex”,
“paswd” => “hd240lbDsA0”,
“email” => “alex@somemail.com”,
“profession” => “engineer”
)
2 => array (
“login” => “James”,
“paswd” => “lre54c0Sdv0f”,
“email” => “james@somemail.com”,
“profession” => “dancer”
)
);
?>

Судячи з прикладу вище, багатовимірні масиви створюються таким же чином, як і одновимірні, крім використання в масиві конструкції array(). Для доступу до елементів багатовимірного масиву індекси записують відразу після попередніх в квадратних дужках. Давайте розглянемо наступний приклад:

echo $polzovateli[1][“profession”];

Якщо цей скрипт додати, наприклад, до масива  вище, то ми отримаємо професію користувача – engineer.

В теорії кількість рівнів вкладеності може бути будь-якою. Однак, слід зауважити, що на стандартному обладнанні PHP може впоратися не більше ніж з однією сотнею вкладених масивів, що рідко, але все ж слід враховувати php розробникам при створенні масивів. Насправді на практиці при створенні сайтів рідко використовується більше 10 рівнів вкладеності масивів, тому це обмеження практично не спостерігається.

Багатовимірні масиви поділяються на:

1. Індексні (ключами масивів виступають цілочисельні значення).
2. Асоціативні (ключами є виключно строкові дані).
3. Змішані (логічно, що тут ключами можуть бути як цілі числа, так і рядкові величини).

Як бачите, в даному уроці в прикладі розглядався змішаний багатовимірний масив.