Instrukcje warunkowe
Instrukcje warunkowe są podstawą każdego języka programowania. Używa się ich do wykonania pewnej instrukcji (lub bloku instrukcji), ale tylko w pewnych okolicznościach – jeśli 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 jest drugi warunek, a pierwszy nie else instrukcja wykonywana jeśli nie zostanie spełniony żaden z warunków ?>
<? $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"; ?>
Instrukcje mogą być zagnieżdżanie 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" ?>
<? $a = 6; $b = 5; $c = 7; $d = 6; $e = 6; if ( ($a > $b || $a > $c) && // Nawiasy klamrowe nie są potrzebne $d == $e ) // to 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 ?>
Pętla for
Czasem zachodzi potrzeba wykonania danej czynności określoną ilość razy. Z pomocą przychodzi jedna z najczęściej używanych składni w większości języków programowania – pętla for. Ogólny zapis wygląda tak:
<? for (inicjalizacja zmiennych ; sprawdzenie warunku ; modyfikacja zmiennych) { blok wyrażeń } ?>
- inicjalizację zmiennych, czyli ustawienie początkowych wartości dla zmiennych kontrolujących pętlę,
- sprawdzenie warunku, czyli wyrażenie logiczne kontrolujące pętlę – pętla będzie wykonywana dopóki ten warunek jest prawdziwy,
- modyfikację zmiennych kontrolujących pętlę – bez tego pętla będzie wykonywała się w nieskończoność (oczywiście wartość tych zmiennych można modyfikować wewnątrz pętli, ale jest to niezalecane).
Przykład najprostszej pętli, która wypisze liczby od 1 do 10:
<? for ($x = 1; $x <= 10; $x++) echo $x.' '; ?>
Pętla while
Innym rodzajem pętli jest pętla while. Wykorzystuje się ją w sytuacjach, kiedy niezbędne jest wykonywanie danej operacji dopóki nie zostanie spełniony warunek. Pętla while ma następującą składnię:
<? while (warunek) { ... instrukcje ... } ?>
Przykładowo można za pomocą tej pętli zapisać odpowiednik pętli for z poprzedniego przykładu:
<? $x=1; while ($x <= 10) { echo $x.' '; $x++; } ?>
Pętla do…while
Odmianą pętli while jest pętla do…while. Od zwykłej pętli while różni się tym, że polecenia w niej zawarte będą wykonane przynajmniej raz – w przypadku pętli while tak być nie musi, to znaczy jeśli za pierwszym razem warunek nie zostanie spełniony, to polecenia z pętli nigdy nie zostaną wykonane.
W przypadku do…while zostaną one wykonane przynajmniej pierwszy raz. Składnia:
<? do { ... instrukcje ... } while (warunek); ?>
Przerywanie wykonań pętli
Czasem zachodzi potrzeba przerwania danej iteracji (powtórzenia) pętli i przejścia do następnej. Z pomocą przychodzi wtedy instrukcja continue. Wystarczy wstawić ją w odpowiednie miejsce wewnątrz pętli. Przykład:
<? for ($x = 1; $x <= 100; $x++) { if ($x % 2 != 0) continue; echo $x.' '; } ?>
Po uruchomieniu powyższego przykładu powinieneś zobaczyć liczby parzyste od 1 do 100. Oczywiście można to zapisać prościej:
<? for ($x = 1; $x <= 100; $x++) { if ($x%2==0) echo $x.' '; } ?>
Istnieje także instrukcja, która powoduje całkowite wyjście z pętli – nie tylko z bieżącej iteracji. Ta instrukcja to break.
<? $tablica = array('a', 'b', 'c', 'd', 'e', 'f'); $x = 0; while (true) { if ($tablica[$x] == 'd') break; $x++; } ?>
Dla potrzeb przykładu wprowadziliśmy najprostszą tablicę. Więcej informacji o tablicach znajdziesz pod tym adresem.
Składnia switch
switch jest instrukcją warunkową, w której jedną zmienną można porównać nie z jedną wartością, ale z kilkoma. Niestety, nie można konstruować złożonych warunków – możliwe jest tylko proste porównywanie, równoważne instrukcji if($zmienna==”wartość”). Składnia:
<? switch ($zmienna) { case 'wartość1': ... instrukcje ... break; case 'wartość2': ... instrukcje ... break; default: ... instrukcje ... } ?>
<? $i = 3; switch($i){ case 0: case 1: case 2: case 3: echo "Zmienna $i jest mniejsza bądź równa trzy\n"; break; case 4: echo "Zmienna $i jest równa cztery\n"; break; default: echo "Zmienna $i jest większa od czterech\n"; } ?>
Hosting stworzony dla WordPressa
Masz stronę WWW na WordPressie? My też uwielbiamy ten system dla stron internetowych. Dlatego stworzyliśmy hosting specjalnie dla jego użytkowników.