Kursy

Pętla for

Pętla for

Często będziemy stawać przed zadaniem, aby jakąś czynność powtórzyć wiele razy. Wyobraźmy sobie na przykład, że chcemy wypisać liczby w kolejności od 1 do 50. Oczywiście można by to uczynić wykorzystując np. funkcje print. Można to jednak uczynić o wiele prościej i krócej wykorzystując tzw. pętlę. Pętla polega na wielokrotnym wykonywaniu bloku instrukcji. W PHP mamy kilka pętli. Najprostszą z nich jest pętla for. Oto jej postać:

for (inicjalizacja; warunek_pętli; zwiększanie_licznika) {
blok instrukcji
}



inicjalizacja - tu nadajemy zmiennej sterującej w pętli wartość początkową.
warunek_petli - jest to wyrażenie określające warunek, czyli pod jakim warunkiem petla ma być wykonywana
zwiększanie_licznika - tu określamy sposób zwiększania zmiennej sterującej przy każdym przebiegu pętli

Bogatsi o tą wiedzę wróćmy do naszego zadania, czyli wypisania kolejnych liczb od 1 do 50.

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="tekst/html"; charset=iso-8859-2">
<TITLE>Odlicznie do 50<TITLE>
</HEAD>
<BODY>

<?
for($i=1; $i<=50; $i++) { print("$i ");
}
?>

</BODY>
</HTML>



Po wykonaniu tego skryptu, oczom naszym ukaże się cos takiego:

1 2 3 4 5 6 7 ............. 48 49 50


Najpierw ustaliliśmy wartość początkową tzw. zmiennej sterującej, czyli $i=1. Nadaliśmy jej wartość 1, ponieważ taka właśnie ma być pierwsza liczba. W kolejnej sekcji ustaliliśmy warunek wykonania pętli. Chcemy, aby ostatnia liczbą była liczba nie większa niż 50. Zapisaliśmy to w ten sposób: $i<=50. Następnie musimy za każdym razem wykonywania pętli zwiększyć wartość zmiennej $i o 1. W tym celu posługujemy się operatorem inkrementacji, czyli ++. Dzięki temu w każdym przebiegu pętli zmienna $i zwiększa swoją wartość właśnie o 1. Ostatnim naszym zabiegiem było ustalenie bloku instrukcji. Nam chodziło o wyświetlenie kolejnych liczb (czyli każdorazowe wyświetlenie zmiennej $i). Posłużyliśmy się tu znaną nam już funkcją print.

Jeśli chodzi o pętlę for to jej wykonywanie przebiega następująco. Najpierw wykonywana jest instrukcja inicjalizująca, następnie sprawdzany jest warunek pętli i jeśli da on wartość true, to wykonywany jest blok instrukcji umieszczony wewnątrz pętli. Zanim ponownie zostanie obliczona wartość warunku kontynuacji, wykonana jest instrukcja inkrementacji, czyli zwiększania wartości zmiennej sterującej.

W miejscu instrukcji inicjalizującej możesz podać listę przypisań oddzielonych od siebie przecinkami. Można skorzystać z tej możliwości, aby określić wartości kilku zmiennych.

Wykorzystajmy pętlę for do utworzenia tabliczki mnożenia. Zastanów się przy okazji ile czasu i energii pochłonęłoby Ci utworzenie takiej tabliczki w tradycyjny sposób, za pomocą wyłącznie znaczników HTML.

Cały skrypt w PHP przedstawia się następująco:

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="tekst/html"; charset=iso-8859-2">
<TITLE>Tabliczka mnożenia<TITLE>
</HEAD>
<BODY>

<?
print("<TABLE BORDER=1>");
for($i=1; $i<=10; $i++) {
print("<TR>");
for($a=1;$a<=10;$a++){print("<TD>".$i*$a."</TD>");}
print("</TR>");
}
print("</TABLE>");
?>

</BODY>
</HTML>



Po wykonaniu powyższego skryptu w oknie przeglądarki powinno ukazać się:

1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100



Zwróć uwagę, że w powyższym skrypcie jedna zostały wykorzystane dwie pętle for. Jedna do stworzenia poszczególnych wierszy tabeli, druga do utworzenia poszczególnych komórek w danym wierszu, przy czym drugą z nich umieściliśmy wewnątrz bloku instrukcji pierwszej.

Pobierz przykład: for.zip