Podręcznik PHP
Poprzedni
Rozdział 12.
Struktury kontrolne
Następny
for
Pętla for jest najbardziej skomplikowanym rodzajem pętli w PHP.
Zachowuje się identycznie jak jej odpowiedniki z C.
Jej składnia wygląda następująco:
for (wyrażenie1; wyrażenie2; wyrażenie3) instrukcje
wyrażenie1 jest wykonywane tylko raz, na początku pętli.
Na początku każdej nowej iteracji, obliczana jest wartość logiczna wyrażenia wyrażenie2.
Jeśli wynikiem obliczenia jest TRUE, to pętla kontynuuje i następuje wykonanie instrukcji umieszczonych w pętli.
Jeśli jednak wyrażenie ma wartość FALSE, to wykonanie pętli zostaje przerwane.
Na końcu każdej iteracji zostaje wykonane wyrażenie3.
Każde z wyrażeń może być puste.
Puste wyrażenie2 oznacza, że pętla jest nieskończona (PHP interpretuje to jako wartość TRUE, podobnie z resztą jak C).
Nie jest to jednak tak bezużyteczne, jak to się może wydawać, gdyż często stosuje się to w połączeniu z instrukcją break, co zastępuje wyrażenie2 w pętli for.
Wszystkie poniższe przykłady wyświetlają liczby od 1 do 10.
Proszę zauważyć rozmaite odmiany składni:
/* przykład 1 * / for ($i = 1; $i = 10; $i++) {print $i;} / * przykład 2 * / for ($i = 1;;$i++) {if ($i 10) {break;} print $i;} / * przykład 3 * / $i = 1; for (;;) {if ($i 10) {break;} print $i; $i++;} / * przykład 4 * / for ($i = 1; $i = 10; print $i, $i++);
Oczywiście najzgrabniejsza składnia jest w przykładzie pierwszym (albo czwartym), ale w wielu sytuacjach puste wyrażenia w pętli for bardzo się przydają.
PHP obsługuje również składnię alternatywną (z dwukropkiem) w pętli for.
for (wyrażenie1; wyrażenie2; wyrażenie3): instrukcja;...; endfor;
Inne języki programowania posiadają pętlę foreach do obsługi tablic itp.
W PHP 3 nie ma takiej pętli, natomiast została ona dodana do PHP 4.
Więcej na ten temat w odpowiednim rozdziale.
W PHP 3 można połączyć instrukcje while, list() i each() W PHP 3 można połączyć instrukcje while, list() i each() co pozwoli osiągnąć ten sam efekt.
Przykłady na to znajdują się w rozdziałach dotyczących wyżej wymienionych instrukcji.
Poprzedni
Spis treści
Następny
Początek rozdziału