Кожен РНР–скрипт являє собою набір конструкцій. Конструкцією може бути присвоювання, виклик функції, повтор коду (цикл), порівняння, а також конструкція яка нічого не робить (пустий оператор).

Конструкція завершується крапкою з комою. Крім того конструкції обєднюються в блоки заключаючи їх в фігорні дужки. Блок конструкцій — це також конструкція. В програмуванні РНР конструкції позволяють визначити умови і потім запустити деякі операції в залежності від запиту.

В даному розділі описуються різні типи конструкцій.

Приведені керуючі конструкції РНР, обєднанні в групи згідно з їх призначенням:

⇒ умовні оператори

    if;

    else;

    elseif;

⇒ цикли

   while;

   for;

   foreach;

   break;

  continue;

⇒ конструкції вибору

   switch–case;

⇒ конструкції включення

   require()

   include()

Більш детальний опис кожної конструкції

⇒ умовний оператор if

Умовний оператор який найчастіше використовується і має наступний синтаксис: 

if(умова) {інструкції виконуються, якщо умова виконана} 

Умова завжди вписується в круглі дужки, а інструкції які виконуються, якщо умови передбачені, заключені в фігурні дужки. Невиконання умови передбачає виконання, яке слідує після закриття фігурних дужок.

В прикладі нижче показані дві змінні, де можна порівняти дві змінні, і покажемо повідомлення .

<?PHP

$A=4;

$B=3;

echo “$a=4<br>”;

echo “$b=3<br>”;

if ($a>$B) {

echo “$a>$B”;

}

?>

Браузер виведе

4=4

3=3

4>3

умовний оператор else

Другий умовний оператор — це else. Else вказує, що виконається, в випадку якщо умова інструкції if не буде виконана, синтаксис наступний:

if(умова){інструкції виконані, якщо виконана умова;}else{інструкції виконані, якщо не виконана умова;}

В прикладі нижче порівняємо дві змінні, і предявимо повідомлення.

<?PHP

$a=3;

$b=5;

echo “$a=3<br>”;

echo “$a=5<br>”;

if ($a>$b) {

echo “$a>$b”;

}else{

echo “$a<$b”;}

?>

Браузер відобразить

3=3

5=5

3<5

конструкція elseif

Наступна конструкція — це elseif, комбінація між if і else. В випадку якщо умова  if не виконується, вводиться elseif, яка тестує ще одну умову. Якщо не виконується друга умова, вводиться декларація, введена за допомогою else. 

if (умова 1){інструкції виконуються, якщо виконана умова1;} elseif(умова 2){інструкції виконуються, якщо виконана умова 2;} else {інструкції виконуються, якщо не виконана умова 2;} 

Приклад

<?PHP

$A=29;

$B=33;

iF($A<$B) {

echo “$A<$B”;

} elsif ($a==$b) {

echo “$a==$b;

}else{ echo “$a>$b;

}

?>

Браузер відобразить

29<33

Конструкція switch

Конструкція switch аналогічна оператору if но завжди умова охоплює більше двох значень.

В прикладі нижче використовуючи switch ми переводимо номер дня в його назву.

<?PHP

$день=4

echo $день;

echo “<br>”;

switch ($день) {

case 1:

echo “Понеділок”;

break;

case 2:

echo “Вівторок”;

break;

case 3:

echo “Середа”;

break;

case 4:

echo “Четверг”;

break;

case 5:

echo “Пятниця”;

break;

case 6:

echo “Субота”;

break;

case 7:

echo “Неділя”;

break;

}

?>

Браузер інтерпретує

4 Четверг

While

Це інструкція типу цикл. Цикл буде повторюватись до тих пір, поки умова не буде TRUE (істиною).

<?PHP

$число=1;

while ($число<=5) {

echo $число.”<br>”;

$число++;

}

?>

Браузер відобразить

1 2 3 4 5

Конструкція for

Конструкція for також являється конструкцією типу цикл. Дана конструкція має наступний синтаксис:

for(вираз1;вираз2;вираз3;) {команди для виконання;} 

Приклад

<?PHP

for ($x=0; $x++<10;) echo $x;

// Виведе 12345678910

?>

foreach

Foreach представляє собою різновидність конструкції for і призначена для спрощення перебору елементів массиву.

Використовує насиупний синтаксис:

foreach($массив as$ключ=>$значення){команди для виконання;}

або 

foreach($массив as $значення){команди для виконання;}

Приклад

<?PHP

$ПЕРСОНАЛ = array(

“Сидоров” => директор

“Петров” => бухгалтер

“Клава” => економіст

“Петруха” => секретар

);

foreach ($персонал as $імя => $посада) {

echo “$імя=> $посада<br>”;

}

?>

Браузер покаже

Сидоров => директор

Петров => бухгалтер

Клава => економіст

Петруха => секретар

break

Break припиняє примусове виконання структур for, foreach, while, do, while або switch. Break приймає необовязковий числовий аргумент з вказаною кількістю структур, дія яких припиняється.

В прикладі нижче при i=5 припиняється виконання цикла.

Приклад

<?PHP for ($i=0; ;$i++) {

if ($i>) {

break;

}

echo $i.”<br>”;

}

?>

Браузер відобразить

0 1 2 3 4 5

Функція  continue

Функція continue пропускає інтерацію(проходження циклу) даного циклу і продовжує виконувати  з початку наступної інтерації. Крім того,  continue може приймати і числовий аргумент, який вкаже, яка кількість циклів повинна бути пропущена.

В прикладі нижче пропускається виконання i==5

<?PHP

for ($i=0;$i<8;$i++) {

if ($i==5)

continue

echo $i.”<br>”;

}

?>

Браузер відобразить

0 1 2 3 4 5 6 7

Конструкції включень  require i include

Конструкції включень позволяють збирати РНР–програму (скрипт) з декількох одних файлів. В РНР існують дві основні конструкції включень:  require i include 

Конструкція включень require

Конструкція require дозволяє включати файли в сценарій РНР до виконання сценарію РНР. ХЗагальний синтаксис такий: 

require імя_файлу

Інтерпетатор при запуску (слід звернути увагу при запуску а не при виконанні) програми заміняє дану інструкцію на вміст файлу імя_файлу (цей файл може також містити сценарій РНР, як зазвичай навколо теги<? i ?>. Стається це перед запуском програми. Дану конструкцію часто використовуюють для включееня в вивод сценарію різних шаблонних сторіно з HTML–кодом.

Конструкція включень include 

Конструкція include також призначена для включення файлів в код сценарію РНР.

Конструкція include дозволяє включати файли в код РНР скрипта під час виконання сценарію ( на відміну від конструкцій rerquire).

Синтаксис конструкції incluade: 

incluade імя_файла

РНР відображає сценарій в внутрішньому прояву, аналізує рядки сценарію по черзі, поки не дійде до конструкції incluade. Дійшовши до incluade, РНР припиняє транспортувати сценарій і переключається на вказаний incluade файл.

Із за подібної поведінки транслятора швидкодія сценарію знижується, особливо при великій кількості включаємих з допомогою incluade файлів. З require ТАКИХ ПРОБЛЕМ НЕ ІСНУЄ, оскільки файли з допомогою require включаються до виконання сценарію, так як на момент трансляції файл уже включений в сценарій.

Таким чином доцільніше використовувати конструкцію require там де не потрібно динамічного включення файлів в сценарій, а конструкцію incluade використовувати тільки з ціллю динамічного включення файлів в еод РНР–скрипта.

В кінці цієї сторінки  посилання  на публікації про елементи основані на РНР.