webmaster webmastering webdesign

Jesteś tutaj: webmade.org >> kursy online >> kurs php >> Część 4

Instrukcje warunkowe

autor: Leszek 'leon' Krupiński, ostatnia modyfikacja: 2007-10-12

szukaj: instrukcje warunkowe instrukcje warunkowe if else if else kurs php kurs php

Instrukcje warunkowe są podstawą każdego języka programowania. Używa się jej do wykonania pewnej instrukcji (lub bloku instrukcji), ale tylko w pewnych okolicznościach - zostanie spełniony określony warunek (lub cały zestaw warunków). Składnia instrukcji warunkowej jest następująca:

<?
if(wyrażenie_warunkowe)
  instrukcja wykonywana jeśli spełniony zostanie warunek
  else if(inne_wyrażenie_warunkowe)
  instrukcja wykonywana jeśli spełniony zostanie drugi warunek, a pierwszy nie
       else
       instrukcja wykonywana jeśli nie zostanie spełniony żaden z warunków
?>

Wyrażeniem warunkowym jest w zasadzie dowolne wyrażenie, ponieważ za warunek uznawane jest wszystko co zwraca wartość, czyli wszystkie zmienne, wyrażenia logiczne, funkcje itp. Za spełniony warunek uznawana jest wartość większa od zera.

<?

$a = 2;
$b = 5;
$c = 1;

if($a > $b)
echo "$a jest większe od $b";
  else if($b > $c)
  echo "$b jest większe od $c";
         else
         echo "$c jest większe od $a i $b";

if($a)
echo "Zmienna $a ma wartość większą od zera";

?>

Jeśli chcemy, aby po sprawdzeniu warunku wykonane zostało nie jedno, ale kilka poleceń, to te polecenia trzeba ująć w nawiasy klamrowe. Bez tego warunkiem objęta by była tylko jedna instrukcja po instrukcji if.

Instrukcje mogą być zagnieżdżane wewnątrz siebie:

<?

$a = 6;
$b = 5;
$c = 1;

if($a > $b){

echo "$a jest większe od $b";

if($a > $c)
echo " i od $c"; /* Powinien zostać wyświetlony napis "6 jest większe od 5 i od 1" */

}

?> 

Oczywiście możliwe jest korzystanie z warunków bardziej złożonych niż pojedyncze porównanie wielkości zmiennych - do łączenia warunków niezbędne jest wykorzystanie operatorów logicznych opisanych w poprzednim rozdziale.

Operator logiczny OR (lub) ma większy priorytet niż operator AND (i), więc aby sprawdzić jakiś warunek gdzie konieczna jest inna kolejność, niezbędne jest użycie nawiasów grupujących warunki. Na przykład chcemy aby jakaś instrukcja była wykonana jeśli zmienna $a jest większa od $b lub $c, i zmienna $d była równa $e. Jeśli chcielibyśmy zapisać to bez żadnych nawiasów: $a > $b || $a > $c && $d == $e to efekt byłby zupełnie inny od zamierzonego: instrukcja była by wykonana jeśli $a było by większe od $b, lub jeśli $a było by większe od $a i $d było by równe $e. Poprawna konstrukcja to ($a > $b || $a > $c) && $d == $e.

<?

$a = 6;
$b = 5;
$c = 7;
$d = 6;
$e = 6;

if( ($a > $b || $a > $c) && // Nawiasy klamrowe nie są potrzebne - to
$d == $e ) // 2 linie ale jedna instrukcja
echo 'Zmienna $a jest większa od $b a zmienna $d jest równa $e, '.
'więc ten tekst pokaże się.'; // Taka konstrukcja jest dozwolona

?>

Leszek 'leon' Krupiński

Zagadnienia poruszane w tej części kursu:

Chcesz zostać programistą?

Poznaj 6 kroków do efektywnej
nauki programowania!

 

valid XHTML
valid CSS
© 2004-2008 copyright by webmade.org