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.