Оператор switch

Ще одна конструкція, що дозволяє перевіряти умову і виконувати в залежності від цього різні дії, – це switch. На українську мову назва даного оператора перекладається як «перемикач». І зміст у нього такий же. У залежності від того, яке значення має змінна, він виконує ту чи іншу дію. switch дуже схожий на оператор if...elseif...else або набір операторів if. Структуру switch можна записати наступним чином:

switch (вираз або змінна){case значення1: блок_дій1break;case значення2: блок_дій2break;...default: блок_дій_по_замовчуванні}

На відміну від if, тут значення виразу не зводиться до логічного типу, а просто порівнюється зі значеннями, перерахованими після ключових слів case (значення1, значення 2 і т.д.). Якщо значення виразу співпадає з якимось варіантом, то виконується відповідний блок_дій – від двокрапки після значення, що співпало, до кінця switch або до першого оператора break, якщо такий знайдеться. Якщо значення виразу не співпало з жодним з варіантів, то виконуються дії по замовчуванні (блок_дій_по_замовчуванні), що знаходяться після ключового слова default. Вираз в switch обчислюється тільки один раз, а в операторі elseif – щоразу, тому, якщо вираз достатньо складний, то switch працює швидше.

<?$names = array("Іван","Петро","Семен"); switch ($names[0]){case "Іван": echo "Привіт, Ван!";break;case "Петро": echo "Привіт, Петя!";break;case "Семен": echo "Привіт, Сеня!";break;default: echo "Привіт, $names[0]. А як Вас кличуть?";}?>

Якщо в цьому прикладі опустити оператор break, наприклад, у case "Петро":, то, якщо змінна виявиться рівною рядкові "Петро", після виведення на екран повідомлення "Привіт, Петя!" програма піде далі і виведе також повідомлення "Привіт, Сеня!" і тільки потім, зустрівши break, продовжить своє виконання за межами switch.

Для конструкції switch, як і для if, можливий альтернативний синтаксис, де відкриваюча switch фігурна дужка заміняється двокрапкою, а закриваюча – endswitch; відповідно.

7.2. Оператори циклу <вверх>

У PHP існує кілька конструкцій, що дозволяють виконувати повторювані дії в залежності від умови. Це цикли while, do..while, foreach і for. Розглянемо їх більш докладно.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: