Constructia
switch este
conditionala, si permite executia unui bloc de cod in functie de diferitele valori pe care le poate lua o variabila/expresie. Implicit, operatorul de comparare intre
expresie si diferitele valori posibile este "=="
Sursa script | Sursa HTML in browser |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| <?php
$a = 1;
switch ($a) {
case 0:
echo 'a este 0';
break;
case 1:
echo 'a este 1';
break;
case 2:
echo 'a este 2';
break;
case 3:
echo 'a este 3';
break;
default:
echo 'a are alta valoare';
}
?> |
| |
In general, dupa fiecare ramura "case" a
switchului introducem instructiunile dorite si apoi cuvantul cheie
break. Introducerea lui
break limiteaza executia doar la acea portiune de cod (din acel
case), altfel, ar trece mai departe si ar executa "case"-urile de dedesubt, indiferent ca exista egalitate cu acele valori sau nu.
Alt cuvant cheie folosit este
default folosit in cazul in care expresia comparata nu are nici una din valorile din case.
Sursa script | Sursa HTML in browser |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| <?php
$sir = 'abc';
switch ($sir) {
case "a":
echo '$sir este a ';
case "abc":
echo '$sir este abc ';
case "b":
echo '$sir este b ';
case "c":
echo '$sir este c ';
default:
echo '$sir are alta valoare ';
}
?> |
| 1
| $sir este abc $sir este b $sir este c $sir are alta valoare |
|
Se pot combina mai multe ramuri
case intr-una singura:
Sursa script | Sursa HTML in browser |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| <?php
$hobby = 'inot';
switch ($hobby) {
case "inot":
case "volei":
case "plaja":
echo "Destinatie potrivita: mare";
break;
case "catarat":
case "ski":
case "sanie":
echo "Destinatie potrivita: munte";
break;
default:
echo "Alege o alta destinatie";
break;
}
?> |
| 1
| Destinatie potrivita: mare |
|