Як правило, вирази в php програмі виконуються в порядку їх написання у вихідному коді. Для зміни цього порядку потрібно використовувати умовні конструкції. Така необхідність виникає перед програмістом php практично в будь-якій програмі, коли при виконанні певної умови повинен виконуватися один блок скрипта, а при виконанні іншої умови – інший. Таким чином, PHP сценарії – дуже гнучкі і можуть залежати від безлічі умов.
Основою роботи всіх конструкцій є перевірка умов на істинність або хибність. Залежно від результату такої перевірки інтерпретується той чи інший блок php скрипта. Давайте розглянемо наступний приклад:
$color=«Червоний»
Якщо змінна $color буде мати значення «Червоний», то вираз – істинний, в іншому ж випадку він – помилковий. Результатом такого виразу можуть бути TRUE або FALSE відповідно. У мові PHP є 2 основні умовні конструкції: if і switch. Хоча у них і однакові завдання, кожна використовується зазвичай в окремих випадках.
Конструкція if
У мові PHP є кілька способів запису конструкції if. У самому простому if перевіряє хибність або істинність певної умови і залежно від результату перевірки виконує або не виконує групу виразів, розміщених у фігурних дужках.
У даному випадку конструкція if буде мати наступний формат запису:
1
2
3
4
5
|
<?php if (якась умова){ Блок виразів } ?> |
Код в фігурних дужках буде виконуватися, якщо умова істинна. В іншому випадку блок виразів буде просто пропущений.
Розглянемо приклад:
1
2
3
4
5
6
|
<?php $b =5; if ( $b <10){ echo $b . «менша десяти»; } ?> |
У цьому прикладі змінній $b присвоюється значення 5. Потім виконується порівняння 5<10. Як ми бачимо, воно - істинне, тому код у фігурних дужках буде виконуватися. У результаті на екран буде виведена фраза 5 менше десяти. Наведений вище спосіб запису може бути трохи ускладнений за допомогою команди else. Синтаксис розширеного формату наступний:
1
2
3
4
5
6
7
8
|
<?php if (якась умова){ Блок виразів } else { Інший блок виразів } ?> |
Якщо умови в if – істинні , тоді буде виконуватися перший блок виразів, якщо помилкові – другий блок.
На цьому можливості if не закінчуються. У скрипт можна додавати будь-яку кількість додаткових перевірок. Для цього використовується команда elseif. Тоді спосіб запису повної форми if може бути, наприклад, таким:
1
2
3
4
5
6
7
8
9
10
11
|
<?php if (якась умова){ Блок виразів 1 } elseif { Альтернативний блок виразів 2 } else { Альтернативний блок виразів 3 } ?> |
В теорії кількість блоків elseif не обмежується, проте не потрібно захоплюватися їх створенням. Для закріплення матеріалів уроку про конструкції if розглянемо ще один приклад:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?php if (! $_POST [“submitt”]){ echo “<form action=’’ method=’POST’> <h3>Вкажіть число:</h3> <input type=’text’ name=’digit’> <input type=’submit’ name=’submitt’ value=’ok’> </form>”; } else { $digit = $_POST [“digit”]; if ( $digit <0){ echo “Дане число менше нуля”; } elseif ( $digit >=0){ echo “Це число більше чи дорівнює нулю”; } else { echo “Це не число”; } } ?> |
У цьому прикладі на екран виводиться форма для введення будь-якого числа. Після відправки введені дані перевіряються і, залежно від результату, виводиться те або інше повідомлення. Зверніть увагу! За логікою, якщо замість числа ввести, наприклад, звичайний рядок – «hello», то на екрані має з’явитися “Це не число”. Але насправді буде виконуватися умова $digit>=0, так як мова php автоматично перетворює типи даних, а в даному випадку рядок буде дорівнювати 0.