Instructiunea switch realizeaza o structura selectiva. Aceasta este asemanatoare cu instructiunea if si poate fi reprodusa folosind mai multe instructiuni if imbracate. Prin folosirea instructiunii switch, programul devine mai bine structurat si mai clar.
Instructiunea switch are urmatoarea structura:
switch(expresie){cazuri}
Intre parantezele rotunde se introduce o expresie a carei valoare va fi comparata pe rand cu valoarea fiecarui caz.
Instructiunea switch contine mai multe cazuri. In momentul in care valoarea expresiei va fi egala cu valoarea unui anumit caz se va executa instructiunile din respectivul caz.
Cazurile din corpul functiei switch se definesc folosind "case" urmat de o valoare "0, 1, 2, etc."
Exemplu: case 0, case 1, case 2
Dupa valoarea cazului se pun doua puncte ":", iar apoi se introduc instructiunile dorite.
Putem initializa oricate cazuri dorim.
Fiecare caz trebuie sa se incheie cu "break". Daca nu folosim "break" la finalul cazurilor se vor afisa toate cazurile chiar daca acestea nu au valoarea egala cu cea a expresiei.
EXEMPLU:
<?php $a = 0; switch($a){ case 0: echo"Acesta este cazul 0"; case 1: echo"Acesta este cazul 1"; } ?> |
↓ |
Acesta este cazul 0 |
In exemplul de mai sus am initializat variabila "a" si i-am atribuit valoarea 0. Intre parantezele rotunde ale instructiunii "switch" am introdus variabila "a" si am initializat doua cazuri (case 0 respectiv case 1).
Instructiunea switch va cauta un caz ce are o valoare egala cu variabila a. In cazul exemplului nostru primul caz are valoarea egala cu cea a variabilei (valoarea 0).
Putem introduce mai multe instructiuni intr-un singur caz fara a fi nevoie sa folosim acoladele pentru a defini corpul acestuia.
EXEMPLU:
<?php $a = 0; switch($a){ case 0: case 1: } ?> |
↓ |
Acesta este cazul 0 Acesta este tot cazul 0 |
Dupa cum se poate vedea in exemplul de mai sus, primul caz are corpul definit intre acolade iar al doilea caz nu are corpul definit intre acolade. Ambele variante sunt corecte si ramane alegerea ta pe care preferi sa il folosesti.
In lectia urmatoare vom vorbi despre functia "While Loop".