Warunki i pętle

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;
}
?>

 

<? Wprowadzenie ?> <? Składnia ?> <? Funkcje ?> <? Zmienne typu STRING ?> <? Warunki i Pętle ?> <? Formularze ?>  <? Operacje na plikach ?> <? Klasy ?> <? Cookies ?> <? Obsługa plików GIF ?> <? Przykład 1 - Księga Gości ?> <?  Przykład 2 - Licznik tekstowy ?> DODATEK : <? Funkcje MySQL ?>