Instrukcje warunkowe w PHP

PHP udostępnia kilka instrukcji warunkowych, czyli takich, które w zależności od wartości wyrażenia true (prawda) lub false (fałsz), sterują przebiegiem programu.

Spis treści:

if

Instrukcja if najpierw sprawdza dany warunek, i w zależności od tego czy zwróci wartość true (prawda) czy false (fałsz) wykona lub nie wykona blok kodu zawarty w klamrach.

Składnia instrukcji if

if (warunek) {
   // kod programu
}

Zobaczmy przykład.

Kod - przykład zastosowania instrukcji if

<?php
$x = 1;
if ($x==1) {
 echo "Tak, zmienna x jest jedynką, a instrukcja if zadziałała.<br>";
}
if ($x>0) {
 echo "Tak, zmienna x jest większe od 0, a instrukcja if zadziałała.<br>";
}
if ($x!=2) {
 echo "Tak, zmienna x nie jest dwójką, a instrukcja if zadziałała.<br>";
}
if ($x!=1) {
 echo "Ten kod sie nie wykona, bo warunek nie jest spełniony";
}
?>

Powyższy kod wyświetli trzy komunikaty, bo wszystkie trzy pierwsze warunki są spełnione, ostatni zaś nie.

Możesz być nieco zdziwiony zapisem warunków. Co to jest na przykład za dziwny zapis "==" albo "!="? Jeśli nie rozumiesz tego zapisu, przeczytaj artykuł o operatorach w PHP.

Warunki można rozbudowywać, zagnieżdżać, używając operatorów logicznych i odpowiednio nawiasów.

Przykład 1

Jeżeli na przykład chcemy, aby skrypt się wykonał, gdy zmienna $x jest mniejsza od zera lub większa od 10, użyjemy warunku: if ($x<0 || $x>10) {...}.

Przykład 2

Jeżeli na przykład chcemy, aby skrypt się wykonał, gdy zmienna $x jest większa od 10 i równa 20 lub 30, to użyjemy warunku: if ($x>10 && ($x==20 || $x==30)) {...}.

 

Jeżeli jeszcze nie rozumiesz zasady działania instrukcji warunkowej if, zobacz poniższą animację.


if...else...

Instrukcja if ... else ... jest rozbudowaną wersją poprzedniej instrukcji warunkowej. Najpierw sprawdza dany warunek, i w zależności od tego czy zwróci wartość true (prawda) czy false (fałsz) wykona lub nie wykona blok kodu zawarty w klamrach.

Składnia

if (warunek) {
   // kod programu dla warunku przyjmującego wartość true
} else {
   ///kod programu dla warunku przyjmującego wartość false
}

Zobaczmy przykład.

Kod - przykład zastosowania instrukcji if ... else

<?php
$x = 1;
if ($x==1) {
 echo "Ta instrukcja się wykonała, bo warunek zwraca wartość true.<br>Prawda, że x=1<br>";
} else {
 echo "Ta instrukcja się nie wykona, bo warunek zwraca wartość false";
}

if ($x!=1) {
 echo "Ta instrukcja się nie wykona, bo warunek zwraca wartość true";
} else {
 echo "Ta instrukcja się wykonała, bo warunek zawraca wartość false.<br>Nieprawda, że x nie jest jedynką.<br>";
}
?>

switch

Instrukcja switch jest rozbudowaną wersją instrukcji warunkowej if, uzależniająca wykonywanie kodów od różnych przypadków, zdefiniowanych w instrukcji. Najpierw sprawdza dany warunek i w zależności od tego jaką wartość przyjmuje wyrażenie taki kod wykonuje.

Składnia instrukcji switch

switch (wyrażenie) {
case przypadek1:
   // kod programu wykona się, gdy rezultat wyrażenia jest równy wartości przypadek1
break;

case przypadek2:
   // kod programu wykona się, gdy rezultat wyrażenia jest równy wartości przypadek2
break;
default:
   //kod programu wykona się gdy żaden z powyższych przypadków nie zaistnieje
}

Zobaczmy przykład.

Kod - przykład zastosowania instrukcji switch

<?php
$x = 1;
switch ($x) {
case 1:
 echo "x=1";
break;
case 2:
 echo "x=2";
break;
default:
 echo "Trudno powiedzieć ile jest równe x ...";
}
?>

Instrukcja case jest bardzo rozbudowana. Pamiętaj, że możesz ją zastąpić wieloma warunkami if ... else ... .

Skrócona wersja if

To bardzo ciekawy i wygodny w stosowaniu operator. W jednej linijce kodu możemy przypisać do zmiennej wartość w zależności od zadanego warunku.

SkładniaPrzykład
zmienna = (warunek)?wartość1:wartość2 Zapis $t=($wiek<18)?"młodzież":"dorosły" pozwala przypisać zmiennej $t tekst "młodzież", jeżeli wartość zmiennej $wiek jest mniejsza niż 18 lub tekst "dorosły", gdy wartość zmiennej $wiek nie jest mniejsza od 18.




© medianauka.pl, 2021-09-04, A-4174



©® Media Nauka 2008-2023 r.