Menu
- Aktualności
- Mój startup Nowy odcinek
- Blogi ekspertów
- Projektowanie WWW
- Planowanie
- Hosting i domeny
- Organizacja i nawigacja
- Webdesign i grafika
- Warsztat - programy
- Tutoriale Photoshop
- Programowanie i tworzenie
- XHTML, HTML i CSS
- JavaScript, DOM i AJAX
- jQuery
- PHP i SQL
- Flash i ActionScript
- Dostępność i WAI
- Promowanie stron
- Pozycjonowanie
- Reklama i marketing
- Monitoring i statystyki
- Publicystyka
- Artykuły ogólne
- Społeczności
- Praca i zarabianie
- Wywiady
- Standardy sieciowe
- Zasoby
- Kursy
- Recenzje książek
- Linki
Dla webmastera
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

