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