Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 4399 razy

Instrukcja warunkowa if, else if i else w PHP wygląda w zasadzie tak samo jak w C++, jest jedna wielka różnica jeżeli chodzi o operator porównania. Oto prosta przykładowa implementacja tej instrukcji:

<?php $x = 0; if($x === 0){ echo("x = 0"); }else if($x < 0){ echo("x < 0"); }else{ echo("x > 0"); } ?>

Operator === sprawdza, czy zmienna $x jest równa codo wartości oraz typu danych. Jest to ważne rozróżnienie, ponieważ instrukcja:

<?php $x = 0; if($x === 0.){ echo("x = 0"); }else if($x < 0){ echo("x < 0"); }else{ echo("x > 0"); } ?>

Zwróci w zaskakujący wynik:

x > 0

W związku z tym lepszym rozwiązaniem byłoby zastosowanie operatora porównania ==:

<?php $x = 0; if($x == 0){ echo("x = 0"); }else if($x < 0){ echo("x < 0"); }else{ echo("x > 0"); } ?>

Operator === jest przydatny, gdy zachodzi konieczność warunku równości wartości oraz typu danych, które są porównywane. W przypadku operatora == musi być spełniona jedynie równość co do wartości.