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 jest wiΩksze od $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 jest wiΩksze od $b");
else
echo("$a jest mniejsze lubr≤wne $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 shile 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;
}
ZaczerpniΩto ze strony http://ygreg.and.pl
[ Poprzednia strona ]
[ NastΩpna strona ]