PHPDevs

Projekt obiektowy z Composerem i Twigiem? Czytaj!

Struktury kontrolne > Lekcja 4

Pętla for

Pętle w programowaniu służą do wielokrotnego powtarzania operacji. Istnieje kilka rodzajów pętli - w tej lekcji powiemy o pętli for, a pozostałe poznamy w kolejnych.

Poznajmy najpierw podstawowy zapis pętli for:

<?php
for (inicjalizacja; wyrażenie; po iteracji) {
    // instrukcje do wykonania za każdym przejściem pętli
}

Pora na konkretny przykład. Wypiszmy liczby od 1 do 10 przy użyciu for.

<?php
for ($number = 1; $number <= 10; $number++) {
    echo $number . ' ';
}
// result: 1 2 3 4 5 6 7 8 9 10

Dla pewności wytłumaczę jeszcze raz, krok po kroku.

Uwaga

Pomiędzy kolejnymi wyrażeniami w pętli koniecznie należy zapisać średniki ;

Podobnie jak w przypadku instrukcji warunkowych, użycie klamer nie jest konieczne, jeśli zapiszemy tylko jedną instrukcję do wykonania. Proponuję jednak zawsze je zapisywać, aby kod był czytelniejszy.

Nic oczywiście nie stoi na przeszkodzie, aby zdefiniować zmienną o innej wartości lub wykonywać inną operację, niż zwiększanie wartości.

<?php
for ($number = 20; $number >= 0; $number -= 5) {
    echo $number . ' ';
}
// result: 20 15 10 5 0 

Również, tak jak we wcześniejszych instrukcjach, istnieje tutaj alternatywny zapis z : i endfor.

Nieskończona pętla

Co się stanie jeśli wpiszemy w pętli warunek (wyrażenie), który nigdy się nie spełni? Stworzymy pętlę, która nigdy się nie skończy, będzie ciągle wykonywana. Może to spowodować większe obciążenie naszego komputera/serwera.

Jesteśmy jednak zabezpieczeni przed niezamierzonym stworzeniem takiej pętli - domyślnie skrypt uruchomiony przez serwer www będzie wykonywany przez 30 sekund, po czym zostanie przerwany. W razie potrzeby możemy znieść ten limit ustawieniem w php.ini lub funkcją set_time_limit().

Niekończącą się pętlę możemy stworzyć również takim zapisem:

<?php
for (;;) {

}

W praktyce raczej rzadko używa się takiej pętli - PHP nie jest językiem, który ma działać gdzieś cały czas.

Ćwiczenia

  1. Dana jest liczba 50. Zmniejszaj ją o 8 i wypisuj pomniejszoną wartość, ale tylko do momentu gdy liczba ta będzie większa od 0. Użyj pętli for.

    Przykładowe rozwiązanie

  2. Korzystając z jednej pętli for oblicz sumę wszystkich liczb parzystych z zakresu od 0 do 100 i wyświetl ją na ekranie. Dodatkowo policz ilość liczb parzystych większych od 50.

    Przykładowe rozwiązanie

  3. (Trudniejsze) Wykonaj tabliczkę mnożenia w postaci prostej tabeli. Przykładowy efekt jaki należy uzyskać: Podpowiedź: należy użyć dwóch pętli for i umieścić jedną wewnątrz drugiej. Przejście do nowej linii w przypadku uruchamiania przez terminal to na przykład stała PHP_EOL, a jeśli kod uruchamiasz poprzez serwer www i przeglądarkę znacznik <br> z HTML.

    Przykładowe rozwiązanie

Poprzednia lekcja Następna lekcja

Udostępnij

  • Facebook
  • Twitter
  • Google+

Komentarze