Масиви в PHP 
Тема 7
Съдържание 
1. Създаване на масиви 
2. Обхождане на масиви 
3. Индексиране с низове
Увод 
 Най-просто казано, масивите са "контейнери" от 
променливи - поредица от елементи, всеки, от които 
има свой маркер (наименование), чрез който би 
могъл да бъде извикан. 
 Масивите са изключително полезни, когато 
обработвате повече и по-разноообразна 
информация. 
 Приложението им може да е доста разнообразно, но 
те са и едно от основните неща, на които ще 
разчитате, когато работите с бази данни. 
 Тогава всички данни от един ред от таблицата в базата ще 
бъдат получавани в масив, който ще трябва да обработим, 
за да достигнем точно до тази информация, която ни трябва. 
 Използването на масиви дава възможност да 
направите кода си по-ясен, стегнат и четлив.
1. Създаване на масиви 
 Приложение, в което се използват имената на 
градове в България и техните пощенски кодове. 
 Част от списъка, с който разполагаме: 
Айтос - 8500 
Асеновград - 4230 
Балчик - 9600 
Ботевград - 2140 
Бургас - 8000 
Варна - 9000 
В. Търново - 5000
Пример 
<?php 
$gradove[]='Айтос'; 
$gradove[]='Асеновград'; 
$gradove[]='Балчик'; 
$gradove[]='Ботевград'; 
$gradove[]='Бургас'; 
$gradove[]='Варна'; 
$gradove[]='В. Търново'; 
?> 
 съставени от отделни единици 
информация всяка, от която има своя 
идентификатор (индекс, ключ) ; 
 Разликата в изписването на масивите и 
променливите е в квадратните скоби, в 
които се указва с коя точно стойност 
желаем да работим; 
 този идентификатор записваме в 
скобите, когато желаем да добавим, 
променим, прочетем или изтрием нещо. 
 Ако пропуснем идентификтора и не 
запишем нищо в скобите, то PHP 
интерпретаторът ще трябва сам да 
прецени какво да направи.
Пример (2) 
Смяна на един град с друг 
<?php 
$gradove[4]='Благоевград'; 
?> 
../uroci/t7/ ex71.php 
<?php 
$gradove = array 
("Айтос", "Асеновград", 
"Балчик", "Ботевград", 
"Бургас", "Варна", "В. 
Търново"); 
echo "$gradove[4]"; 
?> 
 Промяна на началото на 
индексацията 
<?php 
$gradove = array (1 => 
"Айтос", "Асеновград", 
"Балчик", "Ботевград", 
"Бургас", "Варна", "В. 
Търново"); 
echo "$gradove[4]"; 
?>
2. Обхождане на масиви 
 Едно от най-ценните свойства на 
масивите; 
 Mоже да получите достъп до всеки 
елемент от масива последователно в 
рамките на цикъл; 
 Единият вариант да направите това е чрез 
for цикъл: 
 трябва да знаете от къде започва 
индексирането на масива и колко елемента 
има в него. 
 Броя на елементите може да научите с 
помощта на функцията count ().
Пример 
 ../uroci/t7/ ex72.php 
<?php 
//създаваме масива 
$gradove = array ("Айтос", "Асеновград", "Балчик", "Ботевград", "Бургас", "Варна", "В. 
Търново"); 
//започваме падащото меню 
echo "Моля, изберете град : <br><select name='grad'>"; 
//преброяваме масива 
$kolko=count ($gradove); 
//създаваме цикъла за обхождане на масива и опциите на падащото меню 
for ($i=0; $i<$kolko; $i++) { 
echo "<option value=$i>$gradove[$i]</option>"; 
} 
//завършваме падащото меню 
echo "</select>"; 
?>
Пример (2) 
 ../uroci/t7/ ex73.php 
<?php 
//създаваме масива 
$gradove = array ("Айтос", "Асеновград", "Балчик", "Ботевград", 
"Бургас", "Варна", "В. Търново"); 
//започваме падащото меню 
echo "Моля, изберете град --- с list ($key, $value) и each ( 
$gradove): <br><select name='grad'>"; 
while (list ($key, $value) = each ($gradove)) { 
echo "<option value=$key >$value</option>"; 
} 
//завършваме падащото меню 
echo "</select>"; 
?>
Пример (2)_2 
 Функцията each () се грижи за изместването на 
активния елемент, конструкцията задава на 
променливата $key името на елемента, а на 
променливата $value - стойността му. 
 PHP предоставя доста голяма свобода на 
движението, позволявайки да се движите напред 
(да прескачате елементи) или назад (да се 
връщате към вече обработени). 
 За целта се използват съответно функциите next () и 
prev (), 
 а за да навигирате свободно из масива можете да 
използвате array_walk ().
3. Индексиране с низове 
 На основата на $gradove[] ще направим друг масив, в 
който ще се съдържат пощенските кодове на 
съответните градове. 
 Кодовете ще представляват същинската информация, 
а имената на градовете ще са ключовете. 
 За тази цел ще използваме "стрелка" (=>). Но в този 
случай преди всяка стойност ще укажем изрично ключа, 
който искаме да й съответства. Ето как би могло да 
стане това : 
<?php 
$kodove = array ("Айтос" => "8500", "Асеновград" => "4230", 
"Балчик" => "9600", "Ботевград" => "2140", "Бургас" => "8000", 
"Варна" => "9000", "В. Търново" => "5000"); 
?>
Пример_3 
 ../uroci/t7/ ex74.php – с ползване на 
редактора

B7 t7 arrays

  • 1.
  • 2.
    Съдържание 1. Създаванена масиви 2. Обхождане на масиви 3. Индексиране с низове
  • 3.
    Увод  Най-простоказано, масивите са "контейнери" от променливи - поредица от елементи, всеки, от които има свой маркер (наименование), чрез който би могъл да бъде извикан.  Масивите са изключително полезни, когато обработвате повече и по-разноообразна информация.  Приложението им може да е доста разнообразно, но те са и едно от основните неща, на които ще разчитате, когато работите с бази данни.  Тогава всички данни от един ред от таблицата в базата ще бъдат получавани в масив, който ще трябва да обработим, за да достигнем точно до тази информация, която ни трябва.  Използването на масиви дава възможност да направите кода си по-ясен, стегнат и четлив.
  • 4.
    1. Създаване намасиви  Приложение, в което се използват имената на градове в България и техните пощенски кодове.  Част от списъка, с който разполагаме: Айтос - 8500 Асеновград - 4230 Балчик - 9600 Ботевград - 2140 Бургас - 8000 Варна - 9000 В. Търново - 5000
  • 5.
    Пример <?php $gradove[]='Айтос'; $gradove[]='Асеновград'; $gradove[]='Балчик'; $gradove[]='Ботевград'; $gradove[]='Бургас'; $gradove[]='Варна'; $gradove[]='В. Търново'; ?>  съставени от отделни единици информация всяка, от която има своя идентификатор (индекс, ключ) ;  Разликата в изписването на масивите и променливите е в квадратните скоби, в които се указва с коя точно стойност желаем да работим;  този идентификатор записваме в скобите, когато желаем да добавим, променим, прочетем или изтрием нещо.  Ако пропуснем идентификтора и не запишем нищо в скобите, то PHP интерпретаторът ще трябва сам да прецени какво да направи.
  • 6.
    Пример (2) Смянана един град с друг <?php $gradove[4]='Благоевград'; ?> ../uroci/t7/ ex71.php <?php $gradove = array ("Айтос", "Асеновград", "Балчик", "Ботевград", "Бургас", "Варна", "В. Търново"); echo "$gradove[4]"; ?>  Промяна на началото на индексацията <?php $gradove = array (1 => "Айтос", "Асеновград", "Балчик", "Ботевград", "Бургас", "Варна", "В. Търново"); echo "$gradove[4]"; ?>
  • 7.
    2. Обхождане намасиви  Едно от най-ценните свойства на масивите;  Mоже да получите достъп до всеки елемент от масива последователно в рамките на цикъл;  Единият вариант да направите това е чрез for цикъл:  трябва да знаете от къде започва индексирането на масива и колко елемента има в него.  Броя на елементите може да научите с помощта на функцията count ().
  • 8.
    Пример  ../uroci/t7/ex72.php <?php //създаваме масива $gradove = array ("Айтос", "Асеновград", "Балчик", "Ботевград", "Бургас", "Варна", "В. Търново"); //започваме падащото меню echo "Моля, изберете град : <br><select name='grad'>"; //преброяваме масива $kolko=count ($gradove); //създаваме цикъла за обхождане на масива и опциите на падащото меню for ($i=0; $i<$kolko; $i++) { echo "<option value=$i>$gradove[$i]</option>"; } //завършваме падащото меню echo "</select>"; ?>
  • 9.
    Пример (2) ../uroci/t7/ ex73.php <?php //създаваме масива $gradove = array ("Айтос", "Асеновград", "Балчик", "Ботевград", "Бургас", "Варна", "В. Търново"); //започваме падащото меню echo "Моля, изберете град --- с list ($key, $value) и each ( $gradove): <br><select name='grad'>"; while (list ($key, $value) = each ($gradove)) { echo "<option value=$key >$value</option>"; } //завършваме падащото меню echo "</select>"; ?>
  • 10.
    Пример (2)_2 Функцията each () се грижи за изместването на активния елемент, конструкцията задава на променливата $key името на елемента, а на променливата $value - стойността му.  PHP предоставя доста голяма свобода на движението, позволявайки да се движите напред (да прескачате елементи) или назад (да се връщате към вече обработени).  За целта се използват съответно функциите next () и prev (),  а за да навигирате свободно из масива можете да използвате array_walk ().
  • 11.
    3. Индексиране снизове  На основата на $gradove[] ще направим друг масив, в който ще се съдържат пощенските кодове на съответните градове.  Кодовете ще представляват същинската информация, а имената на градовете ще са ключовете.  За тази цел ще използваме "стрелка" (=>). Но в този случай преди всяка стойност ще укажем изрично ключа, който искаме да й съответства. Ето как би могло да стане това : <?php $kodove = array ("Айтос" => "8500", "Асеновград" => "4230", "Балчик" => "9600", "Ботевград" => "2140", "Бургас" => "8000", "Варна" => "9000", "В. Търново" => "5000"); ?>
  • 12.
    Пример_3  ../uroci/t7/ex74.php – с ползване на редактора