72 PHP i MySQL dla każdego
Oznacza ona: jeżeli warunek jest prawdziwy, podstaw za wartość wyrażenia wartośćl, w przeciwnym wypadku podstaw za wartość wyrażenia wartość2. Można go potraktować jako skróconą wersję instrukcji warunkowej i f. Zobaczmy w praktyce, jak może wyglądać jego wykorzystanie. Obrazuje to kod widoczny na listingu 3.5.
Listing 3.5. Wykorzystanie operatora warunkowego
<html>
<head>
<title>Przykladowa strona</title> </head>
<body>
<?php
$1iczba - 10:
$liczba2 - $1iczba < 0 ? -1 : 1; echo($liczba2):
?>
</body>
</html>
Najważniejsza jest tu oczywiście linia $1 i czba2 = Sliczba < 0 ? -1 : 1:. Po lewej stronie operatora przypisania = znajduje się zmienna (liczba2), natomiast po stronie prawej wyrażenie warunkowe, czyli linia ta oznacza: przypisz zmiennej liczba2 wartość wyrażenia warunkowego. Jaka jest ta wartość? Trzeba przeanalizować samo wyrażenie: Sliczba < 0 ? -1 : 1. Oznacza ono, zgodnie z tym, co zostało napisane w poprzednim akapicie: jeżeli wartość zmiennej liczba jest mniejsza od zera, przypisz wyrażeniu wartość -1, w przeciwnym przypadku (zmienna liczba większa lub równa zero) przypisz wyrażeniu wartość 1. Ponieważ zmiennej liczba przepisaliśmy wcześniej wartość 10, wartością całego wyrażenia będzie 1 i ta właśnie wartość zostanie przypisana zmiennej 1 iczba2.
Instrukcja switch pozwala w wygodny i przejrzysty sposób sprawdzić ciąg warunków i wykonywać różny kod w zależności od tego, czy są one prawdziwe, czy fałszywe. W najprostszej postaci może być ona odpowiednikiem ciągu if.. .else if..w którym jako warunek jest wykorzystywane porównywanie zmiennej do wybranej liczby. Zapewnia ona programiście dodatkowe możliwości, jak choćby wykonania tego samego kodu dla kilku warunków. Jeśli mamy przykładowy ciąg:
if($liczba ~ 1){ instrukcjel:
}
else if ($1iczba — 2){ instrukcje2:
}
else if($liczba ~ 3){ instrukcje3:
}
else{
instrukcje4:
1