Масив не обов'язково повинен представляти із себе простий список ключів і простих значень. Кожен елемент масиву може містити як значення інший масив, який в свою чергу може теж містити масив і так далі. Таким чином можна створювати двовимірні і тривимірні масиви.
двовимірні масиви
Двовимірний масив - масив, який в якості значень зберігає в собі інші масиви. Розглянемо створення двовимірного масиву за допомогою конструктора array ():
Масив $ flowers містить три масиви. Як ви пам'ятаєте, для доступу до елементів одновимірного масиву треба вказувати ім'я масиву і ключ. Те ж саме вірно і щодо двовимірних масивів, з одним винятком: кожен елемент має два ключа: перший для вибору рядка, другий для вибору стовпчика.
Щоб вивести елементи цього масиву можна вручну прописати доступ до кожного з них, але краще скористатися вкладеними циклами:
Замість номерів стовпців (індекси, присвоєні їм за замовчуванням) можна задавати їм потрібні ключі. Для цієї мети використовуються асоціативні масиви. Наступний масив буде зберігати ті ж дані, але вже з використанням ключів для іменування стовпців з інформацією:
Ключі створюють додаткову зручність для роботи з масивом в тих випадках, коли потрібно отримати одне зі значень. Необхідні дані можна легко знайти, якщо звернутися до правильної осередку, використовуючи значимі імена рядки і стовпці. Однак при цьому ми втрачаємо можливість послідовно обходу масиву за допомогою циклу for.
Ми можемо перебрати за допомогою циклу for тільки дочірні масиви. Так як вони, в свою чергу, є асоціативними, то для перебору їх елементів потрібно скористатися циклом foreach. або перебрати елементи вручну:
Необов'язково використовувати для створення двовимірного масиву конструктор array (). можна скористатися і коротким синтаксисом - квадратними дужками:
тривимірні масиви
Не обов'язково обмежуватися тільки двома вимірами: так само, як елементи масиву можуть містити масиви, ці масиви, в свою чергу, можуть містити нові масиви.
Тривимірний масив характеризує ширину, висоту і глибину. Якщо представляти двовимірний масив у вигляді таблиці, то тривимірний додає до цієї таблиці шари. Кожен елемент такого масиву буде посилатися на шар, рядок і стовпець.
Якщо трохи модифікувати наш масив з квітами, то можна переробити його в тривимірний. У коді, представленому нижче видно, що тривимірний масив - масив, що містить масив масивів:
Оскільки цей масив містить тільки числові індекси, ми можемо використовувати для його відображення вкладені цикли:
З цією темою дивляться: