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:
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.
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() 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 |
do..while | Początek rozdziału | foreach |