SlideShare a Scribd company logo
1 of 12
Масиви в 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 – с ползване на 
редактора

More Related Content

Viewers also liked

Predicting the strength of self compacting self curing concrete using artific...
Predicting the strength of self compacting self curing concrete using artific...Predicting the strength of self compacting self curing concrete using artific...
Predicting the strength of self compacting self curing concrete using artific...IAEME Publication
 
Coupons grid’s facebook contest
Coupons grid’s facebook contestCoupons grid’s facebook contest
Coupons grid’s facebook contestcouponsgrid
 
2014/12/17 李桐豪委員財委會質詢投影片
2014/12/17 李桐豪委員財委會質詢投影片2014/12/17 李桐豪委員財委會質詢投影片
2014/12/17 李桐豪委員財委會質詢投影片Anna Lin
 
Створення РЛП "Ялівщина" (витяг зі стенограми)
Створення РЛП "Ялівщина" (витяг зі стенограми) Створення РЛП "Ялівщина" (витяг зі стенограми)
Створення РЛП "Ялівщина" (витяг зі стенограми) Alexander Gashpar
 
MotionEstimation Technique forReal Time Compressed Video Transmission
MotionEstimation Technique forReal Time Compressed Video TransmissionMotionEstimation Technique forReal Time Compressed Video Transmission
MotionEstimation Technique forReal Time Compressed Video TransmissionIJERA Editor
 
016 baroque ธีรศักดิ์
016 baroque ธีรศักดิ์016 baroque ธีรศักดิ์
016 baroque ธีรศักดิ์Aniwat Suyata
 
Cardiopatie e problematiche psicogeriatriche
Cardiopatie e problematiche psicogeriatricheCardiopatie e problematiche psicogeriatriche
Cardiopatie e problematiche psicogeriatricheangelo1958-bs
 
Impact of electronic commerce in marketing and brand developing
Impact of electronic commerce in marketing and brand developingImpact of electronic commerce in marketing and brand developing
Impact of electronic commerce in marketing and brand developingIAEME Publication
 
Etuma Customer Feedback Analysis - how to keep your customers loyal
Etuma Customer Feedback Analysis - how to keep your customers loyalEtuma Customer Feedback Analysis - how to keep your customers loyal
Etuma Customer Feedback Analysis - how to keep your customers loyalEtuma
 
Luxus Tanıtım
Luxus TanıtımLuxus Tanıtım
Luxus TanıtımLuxus
 

Viewers also liked (10)

Predicting the strength of self compacting self curing concrete using artific...
Predicting the strength of self compacting self curing concrete using artific...Predicting the strength of self compacting self curing concrete using artific...
Predicting the strength of self compacting self curing concrete using artific...
 
Coupons grid’s facebook contest
Coupons grid’s facebook contestCoupons grid’s facebook contest
Coupons grid’s facebook contest
 
2014/12/17 李桐豪委員財委會質詢投影片
2014/12/17 李桐豪委員財委會質詢投影片2014/12/17 李桐豪委員財委會質詢投影片
2014/12/17 李桐豪委員財委會質詢投影片
 
Створення РЛП "Ялівщина" (витяг зі стенограми)
Створення РЛП "Ялівщина" (витяг зі стенограми) Створення РЛП "Ялівщина" (витяг зі стенограми)
Створення РЛП "Ялівщина" (витяг зі стенограми)
 
MotionEstimation Technique forReal Time Compressed Video Transmission
MotionEstimation Technique forReal Time Compressed Video TransmissionMotionEstimation Technique forReal Time Compressed Video Transmission
MotionEstimation Technique forReal Time Compressed Video Transmission
 
016 baroque ธีรศักดิ์
016 baroque ธีรศักดิ์016 baroque ธีรศักดิ์
016 baroque ธีรศักดิ์
 
Cardiopatie e problematiche psicogeriatriche
Cardiopatie e problematiche psicogeriatricheCardiopatie e problematiche psicogeriatriche
Cardiopatie e problematiche psicogeriatriche
 
Impact of electronic commerce in marketing and brand developing
Impact of electronic commerce in marketing and brand developingImpact of electronic commerce in marketing and brand developing
Impact of electronic commerce in marketing and brand developing
 
Etuma Customer Feedback Analysis - how to keep your customers loyal
Etuma Customer Feedback Analysis - how to keep your customers loyalEtuma Customer Feedback Analysis - how to keep your customers loyal
Etuma Customer Feedback Analysis - how to keep your customers loyal
 
Luxus Tanıtım
Luxus TanıtımLuxus Tanıtım
Luxus Tanıtım
 

Similar to B7 t7 arrays

Web applications with Catalyst BG
Web applications with Catalyst BGWeb applications with Catalyst BG
Web applications with Catalyst BGsvilen.ivanov
 
Nakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroNakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroSvetlin Nakov
 
Introduction to-rdbms-systems
Introduction to-rdbms-systemsIntroduction to-rdbms-systems
Introduction to-rdbms-systemsRosen Spasov
 
AJAX и създаване на богати потребителски интерфейси в браузър
AJAX и създаване на богати потребителски интерфейси в браузърAJAX и създаване на богати потребителски интерфейси в браузър
AJAX и създаване на богати потребителски интерфейси в браузърsvilen.ivanov
 
Сигурност при разработката на WordPress разширения
Сигурност при разработката на WordPress разширенияСигурност при разработката на WordPress разширения
Сигурност при разработката на WordPress разширенияVeselin Nikolov
 
FABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovFABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovSvetlin Nakov
 
18 operatori i funkcii
18 operatori i funkcii18 operatori i funkcii
18 operatori i funkciiIvan Peev
 
ИнтеRESTни уеб услуги
ИнтеRESTни уеб услугиИнтеRESTни уеб услуги
ИнтеRESTни уеб услугиsvilen.ivanov
 
BARS - Regular Expressions - Svetlin Nakov, George Penkov
BARS - Regular Expressions - Svetlin Nakov, George PenkovBARS - Regular Expressions - Svetlin Nakov, George Penkov
BARS - Regular Expressions - Svetlin Nakov, George PenkovSvetlin Nakov
 
Чести проблеми в сигурността на уеб проектите
Чести проблеми в сигурността на уеб проектитеЧести проблеми в сигурността на уеб проектите
Чести проблеми в сигурността на уеб проектитеVeselin Nikolov
 

Similar to B7 t7 arrays (20)

Скаларни типове данни
Скаларни типове данниСкаларни типове данни
Скаларни типове данни
 
B9 t9 db_my_sql
B9 t9 db_my_sqlB9 t9 db_my_sql
B9 t9 db_my_sql
 
B9 t9 db_my_sql
B9 t9 db_my_sqlB9 t9 db_my_sql
B9 t9 db_my_sql
 
Web applications with Catalyst BG
Web applications with Catalyst BGWeb applications with Catalyst BG
Web applications with Catalyst BG
 
Nakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroNakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - Intro
 
Списъци и масиви
Списъци и масивиСписъци и масиви
Списъци и масиви
 
B2 t2 variables
B2 t2 variablesB2 t2 variables
B2 t2 variables
 
Introduction to-RDBMS-systems
Introduction to-RDBMS-systemsIntroduction to-RDBMS-systems
Introduction to-RDBMS-systems
 
Introduction to-rdbms-systems
Introduction to-rdbms-systemsIntroduction to-rdbms-systems
Introduction to-rdbms-systems
 
Aesaes
AesaesAesaes
Aesaes
 
AJAX и създаване на богати потребителски интерфейси в браузър
AJAX и създаване на богати потребителски интерфейси в браузърAJAX и създаване на богати потребителски интерфейси в браузър
AJAX и създаване на богати потребителски интерфейси в браузър
 
Сигурност при разработката на WordPress разширения
Сигурност при разработката на WordPress разширенияСигурност при разработката на WordPress разширения
Сигурност при разработката на WordPress разширения
 
FABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovFABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin Nakov
 
18 operatori i funkcii
18 operatori i funkcii18 operatori i funkcii
18 operatori i funkcii
 
JavaScipt and AJAX Programming
JavaScipt and AJAX ProgrammingJavaScipt and AJAX Programming
JavaScipt and AJAX Programming
 
Web Programming with JavaScript and Ajax
Web Programming with JavaScript and AjaxWeb Programming with JavaScript and Ajax
Web Programming with JavaScript and Ajax
 
5494 n nikolov_zashtita
5494 n nikolov_zashtita5494 n nikolov_zashtita
5494 n nikolov_zashtita
 
ИнтеRESTни уеб услуги
ИнтеRESTни уеб услугиИнтеRESTни уеб услуги
ИнтеRESTни уеб услуги
 
BARS - Regular Expressions - Svetlin Nakov, George Penkov
BARS - Regular Expressions - Svetlin Nakov, George PenkovBARS - Regular Expressions - Svetlin Nakov, George Penkov
BARS - Regular Expressions - Svetlin Nakov, George Penkov
 
Чести проблеми в сигурността на уеб проектите
Чести проблеми в сигурността на уеб проектитеЧести проблеми в сигурността на уеб проектите
Чести проблеми в сигурността на уеб проектите
 

More from Asiya Petrova

More from Asiya Petrova (16)

B8 t8 files
B8 t8 filesB8 t8 files
B8 t8 files
 
B6 t6 errors
B6 t6 errorsB6 t6 errors
B6 t6 errors
 
B5 t5 if_else_for_while
B5 t5 if_else_for_whileB5 t5 if_else_for_while
B5 t5 if_else_for_while
 
B4 t4 include_files
B4 t4 include_filesB4 t4 include_files
B4 t4 include_files
 
B3 t3 cookies
B3 t3 cookiesB3 t3 cookies
B3 t3 cookies
 
B1 t1 php_basics
B1 t1 php_basicsB1 t1 php_basics
B1 t1 php_basics
 
A1 install xampp
A1 install xamppA1 install xampp
A1 install xampp
 
B7 t7 arrays
B7 t7 arraysB7 t7 arrays
B7 t7 arrays
 
B8 t8 files
B8 t8 filesB8 t8 files
B8 t8 files
 
B6 t6 errors
B6 t6 errorsB6 t6 errors
B6 t6 errors
 
B5 t5 if_else_for_while
B5 t5 if_else_for_whileB5 t5 if_else_for_while
B5 t5 if_else_for_while
 
B4 t4 include_files
B4 t4 include_filesB4 t4 include_files
B4 t4 include_files
 
B3 t3 cookies
B3 t3 cookiesB3 t3 cookies
B3 t3 cookies
 
A1 install xampp
A1 install xamppA1 install xampp
A1 install xampp
 
B1 t1 php_basics
B1 t1 php_basicsB1 t1 php_basics
B1 t1 php_basics
 
B4 t4 include_files
B4 t4 include_filesB4 t4 include_files
B4 t4 include_files
 

B7 t7 arrays

  • 1. Масиви в PHP Тема 7
  • 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 – с ползване на редактора