|
Instrukcja IF/ELSE
W każdym języku mamy tego typu instrukcję. Instrukcje warunku są
bardzo często wykorzystywane. Gdy chcemy by dane instrukcje
wykonały się tylko pod danym określonym warunkiem
stosujemy instrukcję if czyli
jeżeli. By wykonać instrukcje które nie spełniły warunku
zadeklarowanego w instrukcji if stosujemy
polecenie else czyli w przeciwnym
razie. Dla zrozumienia proponuje przykład:
<?
$ala=20;
$ola=19;
if ($ala>$ola)
echo ("Ala jest starsza od Oli");
else
echo ("Ola jest starsza od Ali");
?>
Proponuje teraz w powyższym skrypcie zmienić
dane by zmienna $ala miała mniejszą
wartość od $ola. Działanie skryptu
chyba jest zrozumiałe. Zauważyć należy, że w instrukcji if
nie ma końcu znaku średnika wstawiony jest dopiero na końcu
polecenia które w tym wypadku ma się wykonać. Aby warunek objął
kilka poleceń, stosuje się nawiasy klamrowe { } np:
<?
$ala=20;
$ola=19;
if ($ala>$ola)
{
echo ("Ala jest starsza od Oli");
echo (" Ala ma $ala lat");
echo (" a Ola $ola");
}
else
{
echo ("Ola jest starsza od Ali");
echo (" gdyż Ola ma $ola a Ala $ala lat");
}
?>
Aby uzyskać bardziej złożony warunek można zastosować
operatory logiczne:
== czy jest równe
!= czy jest różne
> czy jest większe
< czy jest mniejsze
>= czy jest większe bądź równe
<= czy jest mniejsze bądź równe
&& koniunkcja (i)
|| alternatywa (lub)
! negacja (zaprzeczenie)
np:
<?
$a=3;
$b=9;
if($a==3&&$b==7) echo("A");
if($a==3||$b==7) echo(" B");
if(!($a==3&&$b==7)) echo(" C");
?>
Po wykonaniu skryptu na ekranie otrzymujemy litery B i C gdyż
3==3 lub 9==7 oraz występuje sprzeczność
3==3 i 9==7 .
Zapytania można też tworzyć pisząc np:
$a ? $b : $c;
Oznacza to, że jeżeli wartość $a
jest różna od zera (ma wartość TRUE - prawda) to $a
przybiera wartość $b. Jeżeli będzie
równe 0 (ma wartość FALSE - nieprawda ) to $a
przybiera wartość $c.
Pętle
Przy użyciu pętli możemy powtarzać wiele razy ten sam fragment
kodu. PHP obsługuje 3 rodzaje pętli: while,
do..while i for.
Pętla while
W pętli while najpierw sprawdzany
jest warunek. 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ę np:
<?
$a=0;
while($a<99999)
{
echo("$a ");
$a++;
}
?>
Ten skrypt wypisze nam wszystkie liczby od 0 do 99998.
Pętla
do..while
W tej pętli najpierw wykonuje się pętla a dopiero potem
sprawdzany jest warunek np:
<?
$a=1;
do
{
echo("$a ");
$a++;
}while($a<10001);
?>
Pętla for
Pętla for posiada taką budowę - for($zmienna =
wartosc;zapytanie; $zmienna++) { instrukcje } . Najlepiej
zobrazuje ją nam przykład:
<?
for($a=1;$a<1001;$a++)
{
echo("$a ");
}
?>
Polecenia break
i continue
Wykonywanie naszej pętli możemy zakończyć wstawiając do niej
polecenie break. Aby przejść do
następnego powtórzenia używamy opcji continue
np:
<?
$a=0;
while($a<10)
{
$a++;
if($a==3)
break;
echo("$a ");
}
?>
Pętla w powyższym przykładzie zatrzyma się w momencie gdy $a
osiągnie wartość 3.
<?
$a=3;
while($a<10)
{
$a++;
if($a==9)
continue;
echo("$a ");
}
?>
Ta pętla wyświetli nam liczby 4 5 6 7 8 10 pomijając 9.
Instrukcja switch
Załóżmy że chcemy wyświetlić inny komunikat dla każdej osiągniętej
wartości zmiennej. Możemy to zrobić tak:
<?
$a=3;
if ($a==1)
echo (" a wynosi 1");
if ($a==2)
echo (" a wynosi 2");
if ($a==3)
echo (" a wynosi 3");
if ($a==4)
echo (" a wynosi 4");
if ($a==5)
echo (" a wynosi 5");
?>
lub właśnie przez użycie instrukcji switch
:
<?
$a=5;
switch($a)
{
case 1:
echo("a wynosi 1");
break;
case 2:
echo("a wynosi 2");
break;
case 3:
echo("a wynosi 3");
break;
case 4:
echo("a wynosi 4");
break;
case 5:
echo("a wynosi 5");
break;
}
?>
|