Досега разглеждахме масиви, които представляваха прости списъци с по няколко елемента. Например масива $hrana фактически е списък на който зададохме да съдържа няколко храни – домати, ябълки, хляб и пилешко. Такива масиви се наричат едномерни. По-често обаче се налага да се работи със списъци, чиито елементи съдържат подсписъци с елементи. Например в един списък на храни може да имаме елемента „месо“, който да съдържа подсписък с няколко вида месо, примерно „пилешко“, „телешко“ и „свинско“. Съответно елемента „пилешко“ може да съдържа на свой ред подсписък с елементите „пилешки бутчета“, „пилешки крилца“ и „пилешки гърди“ и т.н.

Такива вложени един в друг списъци е лесно да се представят чрез т.нар. многомерни масиви. Многомерните масиви, както подсказва названието им, съдържат в себе си други масиви. Многомерните масиви могат да бъдат двумерни, тримерни и т.н.

Да направим двумерен масив, който да съдържа елемента „месо“ с поделементите „пилешко“, „телешко“ и „свинско“. Кода може да изглежда по следния начин:

<?php

$hrana[meso][1] = „пилешко“;
$hrana[meso][2] = „телешко“;
$hrana[meso][3] = „свинско“;

echo $hrana[meso][2];

?>

Този код ще изведе на екран елемента „телешко“. От примера се вижда, че след като масива е създаден обръщането към някакъв негов елемент става като след името на масива се изпишат в квадратни скоби идентификационните ключовете или номера на съответния елемент. Ако се извиква стойност от двумерен масив, както е в случая, след името на масива ще трябва да се изпишат две квадратни скоби с ключове или номера; ако се извиква елемент от тримерен масив се изписват три квадратни скоби с ключове или номера и т.н.

В един многомерен масив може да разположите колкото желаете списъци и подсписъци, например:

<?php

$hrana[meso][pileshko][butcheta] = „пилешки бутчета“;
$hrana[meso][pileshko][krilca] = „пилешки крилца“;
$hrana[meso][pileshko][gyrdi] = „пилешки гърди“;
$hrana[plodove][yabulki] = „ябълки“;
$hrana[plodove][krushi] = „круши“;
$hrana[plodove][banani] = „банани“;

echo „Втория елемент на списъка е {$hrana[meso][pileshko][krilca]}, а последния е {$hrana[plodove][banani]}“;

?>

Горния код ще изведе на екран съобщението „Втория елемент на списъка е пилешки крилца, а последния е банани“.

Извикването на елемент от многомерен масив в низ става като названието на масива и съответните ключове или номера се поставят в големи скоби. Забележете, че в този пример вътре в низа, т.е. в изречението след echo, името на масива и ключовете на стойностите са поставени именно в такива скоби – {}. Ако махнем скобите и напишем

echo „Втория елемент на списъка е $hrana[meso][pileshko][krilca],
а последния е $hrana[plodove][banani]“;

ще получим като резултат съобщението „Втория елемент на списъка е Array[pileshko][krilca], а последния е Array[banani]“.

Многомерен масив може да се създаде и като се ползва функцията array и символите => по следния начин:

<?php

$hrana = array(„meso“ => array(„пилешко“, „телешко“,
„свинско“), „plodove“ => array(„ябълки“, „круши“,
„банани“));

echo $hrana[meso][0];

?>

Горния код ще ни покаже резултат „пилешко“, тъй като в случая няма зададени ключове или номера на стойностите от списъка с видовете месо и затова на стойността „пилешко“ автоматично е присвоен идентификационен номер 0.