Notice: Undefined variable: this in /home/dimarini/public_html/libraries/src/Application/CMSApplication.php on line 441

Масиви в PHP


В обикновена променлива може да се съхранява само една стойност. Масивът (Array) е специална променлива, в която могат да се съхраняват повече от една стойност. Съхраняването на даден списък в обикновени променливи, например имена на служители, ще изглежда по следния начин:


    $name1="Иван Петров";
$name2="Петър Иванов";
$name3="Огнян Георгиев";

Когато е необходимо да се работи с голям количество данни, например 200 или 300, най-добрия начин е да се използва масив. Този масив, с определено име, може да запази всички тези променливи и те могат да бъдат извличани по техния индекс в масивта. В PHP съществуват три вида масиви:
  • Числени масиви - числен индекс
  • Асоциативни масиви - всеки индекс е свързан с някакава стойност
  • Многомерни масиви - съдържат няколко масива

Числени масиви

В числените масиви всеки елемент се съхранява под числен индекс. Съществуват два метода за създаване на числени масиви:
1. В следващият пример индексите се присвояват автоматично като започват от 0:
    $names=array("Иван Петров","Петър Иванов","Огнян Георгиев");

2. В следващият пример индексите се присвояват принудително:
    $names[0]="Иван Петров";
$names[1]="Петър Иванов";
$names[2]="Огнян Георгиев";

В примера по-долу, първо са присвоени индекси на променливи от масива и след това са извлечени някои от променливите чрез името на масива и индекса на променливата:
    <php
$names[0]="Иван Петров";
$names[1]="Петър Иванов";
$names[2]="Огнян Георгиев";
echo $names[0]." и ".$names[2]." са служители на фирмата.";
?>

След изпълнение на горния код ще се покаже съобщение
    Иван Петров и Огнян Георгиев са служители на фирмата.

Асоциативни масиви

В тези масиви всеки индекс се свързва с определена стойност. Когато се съхраняват данни за определени имена, използването на числен масив не винаги е най-добрият начин. С асоциативните масиви могат да се използват имена като индекси и към тях да се присвояват стойности.
    $ages = array("Иван"=>22, "Петър"=>35, "Огнян"=>44);
или
$ages['Иван'] = "22";
$ages['Петър'] = "35";
$ages['Огнян'] = "44";

Тези индентификационни индекси могат да се използват в програмния код:
    <?php
$ages['Иван'] = "22";
$ages['Петър'] = "35";
$ages['Огнян'] = "44";

echo "Иван е на" . $ages['Иван'] . " години.";
?>

След изпълнение на горния код ще се покаже съобщение
    Иван е на 22 години.

Многомерни масиви

При многомерните масиви всеки елемент в основния масив също може да бъде масив. Също така, всеки елемент в под-масив може да бъде масив и т.н. В следващият пример е създаден многомерен масив с автоматично присвоени идентификационни индекси, където масива families (семейства) съдържа масиви с членовете на всяко семейство:
    $families = array
(
"Петрови"=>array
(
"Иван",
"Райна",
"Деница"
),
"Иванови"=>array
(
"Петър"
),
"Георгиеви"=>array
(
"Огнян",
"Мария",
"Славчо"
)
);

Нека да покажем съобщение " Райна и Деница са членове на семейство Петрови", като използваме данните от масива:
    echo $families['Петрови'][1] . " и " . $families['Петрови'][2] . "  са членове на семейство Петрови"