MOJA PASJA - PROGRAMOWANIE
   Dzisiaj jest Czwartek, 24 lipca, 2008r. Ostatnia aktualzacja miała miejsce: 10 grudnia 2006r. Homepage

Programowanie: Artykuły * FAQ * Download * Komponenty * Książki WWW: Artykuły * Narzędzia * Kursy * Darmowe * FAQ * Skrypty * Ksiązki Off-Topic: Aforyzmy * Humor Inne: Forum * Wiki * Liczniki * Linki * Chat * Grafika * Video * Inne



Kurs PHP - Część II

Instrukcja warunkowa if/else

   Czasem chcemy, żeby fragment kodu wykonał się tylko pod jakimś warunkiem. Stosuje się wtedy instrukcję if:

if($a>$b)
echo("$a > $b");

   Jeżeli wartość $a jest większa od $b wyświetli się napis "$a jest większe od $b". Warunek jest spełniony, jeżeli wyrażenie w nawiasie ma wartość różną od zera. Jeżeli będzie to np. pusta zmienna warunek nie jest spełniony. Polecenie w następnej lini zostanie wykonane, jeżeli warunek jest spełniony. Aby warunek objął kilka poleceń, stosuje się nawiasy klamrowe:

if($a>$b)
{
   echo("$a jest większe od $b");
   $a++;
}

   Jeżeli chcemy wykonać inny fragment kodu gdy warunek nie jest spełniony, stosujemy instrukcję else:

if($a>$b)
   echo("$a > $b");
else
   echo("$a <= $b");

   Aby uzyskać bardziej złożony warunek można zastosować operatory logiczne i (&&) oraz lub (||):

if($a>$b||$a<2)
   echo("$a jest większe od $b, lub mniejsze od 2");

Operatory logiczne

   Aby połączyć kilka warunków można użyć specjalnych operatorów logicznych. Są to:

|| - alternatywa (lub)
&& - koniunkcja (i)
! - negacja (zaprzeczenie)

   Przykład:

$a=1;
$a=3;

if($a==1&&$b==2) echo("A");
if($a==1||$b==2) echo("B");
if(!($a==1&&$b==2)) echo("C");

   Wynikiem tego skryptu będzie napis "BC". Operator zaprzeczenia można też dla wygody połączyć z operatorem porównania, np:

$a=1;
if($a!=2) echo("Warunek spełniony");

Pętla while

   Aby fragment kodu wykonać wiele razy stosuje się pętle. PHP obsługuje 3 rodzaje pętli: while, do..while i for. Najprostszą z nich jest pętla while:

$a=0;
while($a<5)
{
   echo("$a ");
   $a++;
}

   W pętli while najpierw sprawdzany jest warunek (w tym wypadku $a<5). Jeżeli jest spełniony, pętla wykonuje się i wraca do sprawdzenia warunku. Jeżeli warunek nie jest spełniony, wykonanie pętli kończy się. Powyższy skrypt wyświetli liczby od 0 do 4.

Pętla do..while

$a=0;
do
{
   echo("$a ");
   $a++;
}while($a<5);

   Pętla do..while różni się od pętli while tym, że najpierw wykonuje się pętla, a dopiero potem sprawdzany jest warunek. Oznacza to, że pętla zawsze wykona się co najmniej 1 raz. Powyższy skrypt zadziała tak samo jak poprzedni. Różnica będzie widoczna w poniższych pętlach:

$a=6;
do
{
   echo("$a ");
   $a++;
}while($a<5); /* ta pętla wykona się 1 raz */

$a=6;
while($a<5)
{
   echo("$a ");
   $a++;
} /* instrukcje w tej pętli nie zostaną wykonane */

Pętla for

   Wykonanie pętli for:

for($a=0;$a<5;$a++)
{
   echo("$a ");
}

   Odpowiada wykonaniu pętli:

$a=0;

while($a<5)
{
   echo($a);
   $a++;
}

   Można to też zapisać jako

for($a=0;$a<5;echo("$a "), $a++);

Instrukcje break i continue

   Wykonanie pętli można w każdym momencie zakończyć. Służy do tego instrukcja break:

$a=0;
while($a<10)
{
   $a++;
   if($a==3)
     break;
}

   Ta pętla nie wykona się 10 razy - gdy $a osiągnie wartość 3, wykonanie pętli zostanie przerwane. Można też przejść do następnego powtórzenia - służy do tego instrukcja continue:

$a=0;
while($a<10)
{
   $a++;
   if($a==3)
     continue;
   echo("aaa"); /* ta instrukcja wykona się tylko gdy $a nie jest równe 3 */
}

Instrukcja switch

   Czasem zmienna może mieć jedną z kilku wartości, w zależności odktórych należy podjąć odpowiednią akcję. Można to zrobić stosując instrukcję if:

if($a==1)
{
   echo("a jest równe 1");
}

if($a==3)
{
   echo("a jest równe 3");
}

if($a==11)
{
   echo("a jest równe 11");
}

   Dużo wygodniejsze jest zastosowanie instrukcji switch:

switch($a)
{
   case 1:
   echo("a jest równe 1");
   break;

   case 3:
   echo("a jest równe 3");
   break;

   case 11:
   echo("a jest równe 11");
   break;
}

<< Część ICzęść III >>

Stronę przygotował: Kacper Cieśla (comboy). Wszelkie prawa zastrzeżone.
Reklama * Zgłoś błąd * Kontakt * Hosting * O stronie * Sponsoring
Czas generowania strony: 0.002s