В материала за типовете на променливите вече беше споменато за един особен тип променливи – array (масив). Масивите са променливи, които, за разлика от другите променливи, могат да съдържат повече от една стойност. Декларирането им става с функцията array(), като в кръглите скоби се записват стойностите на масива разделени със запетаи. Всяка стойност на масива автоматично получава идентификационен номер, като началния номер по подразбиране е 0. При извикване на някоя стойност на масива тя трябва да се укаже чрез идентификационния си номер записан в квадратни скоби, например:

<?php

$promenliva = array(„стойност1“, „стойност2“, „стойност3“);

echo „$promenliva[0]“;

?>

Резултата от горния код ще бъде извеждане на екран на стойност1, тъй като това е стойността с идентификационен номер 0.

Стойностите на масива могат да се зададат и поотделно на променливата, като в този случай пред името на променливата трябва да се постави квадратна скоба, която може да съдържа идентификационен номер. Ако не се укаже изрично идентификационен номер, тогава такъв се присвоява автоматично, като отново началния номер по подразбиране е 0, например:

<?php

$promenliva[] = „стойност1“;
$promenliva[] = „стойност2“;
$promenliva[] = „стойност3“;

echo „$promenliva[0]“;

?>

Резултата от този код отново ще е стойност1.

Идентификационния номер може да бъде и изрично указан. В такъв случай не е задължително началния номер да бъде 0. Можете да използвате всякакви номера каквито сметнете за необходими, например:

<?php

$hrana[5] = „ябълки“;
$hrana[8] = „домати“;
$hrana[25] = „хляб“;
$hrana[17] = „пилешко“;

echo „$hrana[25]“;

?>

Резултата от горния код ще бъде извеждане на екрана на думата „хляб“, тъй като 25 е номера на стойността „хляб“ от масива $hrana.

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

<?php

$hrana[plodove] = „ябълки“;
$hrana[zelenchuci] = „домати“;
$hrana[testeni] = „хляб“;
$hrana[meso] = „пилешко“;

echo „$hrana[meso]“;

?>

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

Думите чрез които се идентифицират стойностите на масива се наричат ключове. В случая думата „meso“ е ключ за стойността „пилешко“, думата „plodove“ е ключ за стойността „ябълки“ и т.н. Даден масив може да се дефинира и като всяка стойност бъде указана с нейния ключ в кръглите скоби на функцията array. В този случай синтаксиса на масива е

$promenliva = array(ключ1 => стойност1, ключ2 => стойност2, ключ3 => стойност3);

т.е. всеки ключ сочи чрез символите равенство и стрелка (=>) към своята стойност, като двойките ключ-стойност са отделени със запетаи. Пример:

<?php

$hrana = array(plodove => „ябълки“, zelenchuci => „домати“, testeni => „хляб“, meso => „пилешко“);

echo „$hrana[plodove]“;

?>

В този случай резултата ще бъде извеждане на екран на думата „ябълки“, тъй като ключа на тази стойност е „plodove“.

Същия принцип – ключове, сочещи към стойности – можете да видите например при вградените в езика масиви $_POST, $_GET и $_REQUEST, с които се обработват данни от формуляри. Имената на полетата на формулярите, зададени чрез атрибута name, например name=“komentar“, name=“email“ и т.н., се явяват ключове, сочещи към стойността (съдържанието) на съответното поле от формуляра и затова се задават в квадратните скоби след името на масива, например $_POST[komentar], $_POST[email] и т.н. Повече информация за работа с тези масиви може да видите на страница Предварително дефинирани масиви. Обхват на променливите. Обработка на данни от формуляр.

Ключовете на стойностите зададени чрез функцията array() могат да бъдат и цифрови, например:

<?php

$hrana = array(5 => „ябълки“, 8 => „домати“, 25 => „хляб“, 17 => „пилешко“);

echo „$hrana[5]“;

Горния код отново ще изведе на екран думата „ябълки“, тъй като е зададено ключа на тази стойност да бъде 5.

Ако желаете стойностите на даден масив да бъдат номерирани от точно определена цифра нататък трябва да зададете тази цифра като ключ на първата стойност на масива. Следващите стойности на масива ще получат автоматично пореден идентификационен номер според местоположението си, например:

<?php

$hrana = array(10 => „ябълки“, „домати“, „хляб“, „пилешко“);

echo „$hrana[11]“;

?>

Горния код ще изведе на екран думата „домати“, тъй като на първата стойност на масива, която е „ябълки“, сме задали номер 10, т.е. броенето започва от цифрата 10. Стойността „домати“ е втора в изброяването и затова автоматично получава идентификационен номер 11. Стойностите „хляб“ и „пилешко“ получават съответно номера 12 и 13.

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

<?php

$hrana[10] = „ябълки“;
$hrana[] = „домати“;
$hrana[] = „хляб“;
$hrana[] = „пилешко“;

echo „$hrana[11]“;

?>

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

Масивите могат да съдържат смесено стойности от различни типове и във всеки момент на стойностите им може да бъде променено съдържанието и типа данни, например:

<?php

$hrana[plodove] = „ябълки“;
$hrana[zelenchuci] = 1.25;
$hrana[zarneni] = „хляб“;
$hrana[meso] = „пилешко“;

echo „$hrana[meso]<br />“;

$hrana[meso] = 5.75;

echo „$hrana[meso]“;

?>

В горния пример стойността на $hrana[meso] е променена от „пилешко“ (низ) на 5.75 (число с плаваща запетая).