Instrukcja warunkowa if, else if, else w PHP

Stronę tą wyświetlono już: 212 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:

Listing 1
  1. <?php
  2. $x = 0;
  3. if($x === 0){
  4. echo("x = 0");
  5. }else if($x < 0){
  6. echo("x < 0");
  7. }else{
  8. echo("x > 0");
  9. }
  10. ?>

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

Listing 2
  1. <?php
  2. $x = 0;
  3. if($x === 0.){
  4. echo("x = 0");
  5. }else if($x < 0){
  6. echo("x < 0");
  7. }else{
  8. echo("x > 0");
  9. }
  10. ?>

Zwróci w zaskakujący wynik:

x > 0

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

Listing 3
  1. <?php
  2. $x = 0;
  3. if($x == 0){
  4. echo("x = 0");
  5. }else if($x < 0){
  6. echo("x < 0");
  7. }else{
  8. echo("x > 0");
  9. }
  10. ?>

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.

Komentarze