Instrucțiuni condiționale în PHP
Programele trebuie să ia decizii tot timpul: dacă utilizatorul este autentificat, arată un lucru; dacă nu, arată altceva. Instrucțiunile condiționale sunt modul prin care îi spui lui PHP să aleagă între acțiuni diferite.
PHP îți oferă aceste opțiuni:
- instrucțiunea
if- rulează o porțiune de cod doar când o condiție este adevărată - instrucțiunea
if...else- rulează o porțiune de cod când o condiție este adevărată și alta când este falsă - instrucțiunea
if...elseif...else- alege între porțiuni diferite de cod când există mai mult de două condiții - instrucțiunea
switch- alege un singur bloc dintre mai multe pentru a-l rula
Instrucțiunea if
Cea mai simplă decizie este un if: când condiția lui este adevărată, codul dintre acolade rulează, altfel PHP sare peste el.
Instrucțiunea if
Pentru că 5 este mai mare decât 3, condiția este adevărată și mesajul este afișat:
Ieșire: script PHP
<?php
if (5 > 3) {
echo "5 este mai mare decât 3";
}
?>
Sintaxă
O instrucțiune if se scrie așa:
<?php
if (condition) {
// code to be executed if condition is true;
}
?>
Indentarea
Pentru PHP, indentarea codului dintr-un bloc if este opțională. Fă-o totuși, pentru că este considerată o practică bună și face structura mult mai ușor de citit.
Exemplu de indentare
Linia echo de mai jos este indentată ca să arate că aparține blocului if:
Ieșire: script PHP
<?php
$x = 10;
if ($x > 0) {
echo "$x este un număr pozitiv";
}
?>
Condiții multiple
Un singur if poate testa mai multe condiții deodată. Unește-le cu operatorii && sau || și adaugă câte ai nevoie:
Operatorul And
Aici trebuie să treacă ambele verificări: $a trebuie să fie mai mare decât $b și, în același timp, mai mic decât $c:
Ieșire: script PHP
<?php
$a = 200;
$b = 33;
$c = 500;
if ($a > $b && $a < $c) {
echo "Ambele condiții sunt adevărate";
}
?>
Operatorul Or
Cu OR este suficient să treacă o singură verificare. Aici $a ar trebui să fie 2 sau 3, dar este 5, așa că rulează blocul else:
Ieșire: script PHP
<?php
$a = 5;
if ($a == 2 || $a == 3) {
echo "a este 2 sau 3";
} else {
echo "a nu este nici 2, nici 3";
}
?>