Wstęp
W tym artykule postaram się wyjaśnić 3 podstawowe pętle w php. Pętla służy do wykonywania określonej czynności wiele razy. Jeśli na przykład chcemy wyświetlić liczby od 1 do 100 to nie będziemy wypisywać każdej liczby po kolei (samobójstwo :) tylko użyjemy pętli. Zajmie nam to tylko kilka linijek kodu :]
Pętla while i ogólne zasady
Jest to bardzo prosta pętla. Wygląda mniej więcej tak:
Kod:
while (warunek) instrukcja
A teraz prosty przykład, na jego podstawie wypsnie działanie:
Kod:
<?php
$ile = 0;
while ($ile < 10)
{
echo $ile;
$ile++;
}
?>
Jaki będzie wynik działania? Pętla wyświetli wszystkie cyfry (0123456789) ;)
Zasada działania pętli jest taka: będę się wykonywała dopóki warunek jest spełniony.
A wiec 0 jest mniejsze od 10 - warunek spełniony ;)
A co to $ile++? A to się nazywa postinkrementacja (tak myślę) i zwiększa wartość zmiennej o jeden. Jak chcesz zmniejszyć to dajesz $ile--. A wiec pętla wykonała się raz. Jaka jest teraz wartość $ile? 1 gdyż 0+1=1 ;) Warunek 1 < 10 znów jest spełniony, a wiec pętla wykona się znowu i do $ile doda jeden. Tak w kolko, aż $ile będzie miało wartość 10. Wtedy warunek nie będzie spełniony i pętla zakończy swoje działanie. To jest bardzo proste.
Manual php:
http://pl.php.net/manual/pl/control-structures.while.php
Pętla do.. while
Jest to trochę dziwna pętla (ja jej nie używam). Ogólnie wiem o co chodzi, ale do czego to służy? Wygląda tak:
Kod:
do
instrukacja
while (warunek)
Jej działanie jest taki samo jak while z wyjątkiem tego ze warunek zostanie sprawdzony na końcu pętli, czyli pętla wykona się
co najmniej raz. Przykład:
Kod:
<?php
$ile = 0;
do
{
echo $ile;
}
while ($ile > 1)
?>
Wiadomo, 0 nie jest większe od 1, ale mimo to pętla wykonała się raz (wyświetliła 0). Może komuś się to przyda ;)
Manual php:
http://pl.php.net/manual/pl/control-structures.do.while.php
Pętla for
Bardzo przydatna pętla, szczególnie przy tablicach (pomijając foreach). Składnia:
Kod:
for (wyrazenie1; warunek; wyrazenie2) instrukcje
Jest ona podobna do while. Podam przykład:
Kod:
<?php
for ($ile = 1; $ile < 100; $ile++)
{
echo 'jestem pętlą for i wykonuje się po raz: '.$ile.'<br />';
}
?>
Pętla wykona się 99 razy. Jeśli chcesz aby wykonała się np. 100 razy pamiętaj o operatorze <=, czyli mniejszy bądź równy :)
Manual php:
http://pl.php.net/manual/pl/control-structures.for.php
Zakończenie
Mam nadzieję, że udało Wam się, choć trochę zrozumieć pętle. Są to naprawdę proste rzeczy;)
Te przykłady, które użyłem są raczej bezużyteczne, ale prawie w każdym skrypcie natkniecie się na pętle i wtedy docenicie ich przydatność. Pozdrawiam.
.kw