PIKADEMIA

Projekt edukacji alternatywnej

Pętle w php

Pętle pozwalają w prosty sposób wykonać wiele podobnych operacji. Mamy do dyspozycji kilka (powiedzmy, że cztery) rodzaje pętli.

Pętla for

Chcemy wypisać liczby od 1 do 10? No problemo, check this out:

<?php
    # wypisujemy liczby od 0 do 10 za pomocą pętli for
    for($i = 0; $i<=10; $i++){
        echo "$i <br>";
    }
?>

Pętle zazwyczaj działają na podstawie pewnej zmiennej iteracyjnej, którą nazywamy w skrócie i. Pętla for przyjmuje 3 argumenty, wewnątrz nawiasu wpisujemy wartość początkową zmiennej iteracyjnej i, po średniku podajemy warunek do kiedy pętla będzie się wykonywać, ostatni warunek to stwierdzenie jak będzie się zmieniać zmienna i po każdym przejściu pętli. Wewnątrz nawiasu klamrowego zawieramy instrukcje, które będą się wykonywać w każdym cyklu pętli. Zazwyczaj pętlę for stosujemy wtedy, kiedy wiemy ile iteracji pętli powinno nastąpić.
Dla przećwiczenia, poniżej przykład, który wyświetla liczby od 10 do 100, co 5.

<?php
    # wypisujemy liczby od 10 do 100, co 5, za pomocą pętli for
    for($i = 10; $i<=100; $i+=5){
        echo "$i <br>";
    }
?>

Pętla foreach

Pętli foreach zazwyczaj używa się w połączeniu z tablicami, kiedy chcemy przejść przez wszystkie elementy tablicy. W nawiasie okrągłym podajemy nazwę tablicy, a następnie po instrukcji as tworzymy tymczasową zmienną, która w każdym przejściu pętli będzie zawierała następny element tablicy).
W przykładzie poniżej wypiszemy wszystkie nazwy dni tygodnia:

<?php
    $dni_tygodnia = array("Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela");
    foreach($dni_tygodnia as $dzien){
        echo $dzien. ", ";
    }
?>

Pętla while i do while

Pętli while używamy wtedy, gdy nie wiemy ile razy powinna się ona wykonać. Za jej pomocą sprawdzamy na przykład czy jakieś procesy się zakończyły lub pobieramy wszystkie informacje zapisane w pliku. Oczywiście możemy za pomocą pętli while zrobić to co robi pętla for, np. wypiszemy liczby od 10 do 1:

<?php
    $i = 10;
    while($i>0){
       echo "$i, ";
       $i--;
    }
?>

Pętla while wykona się wtedy, gdy wewnątrz nawiasu warunek będzie prawdziwy. Czasami, jeśli chcemy, żeby niezależnie od warunku pętla wykonała się chociaż jeden raz wtedy skorzystamy z pętli do while. W poniższym przykładzie pętla wykona się raz mimo, że warunek w nawiasie nie jest spełniony, ponieważ i nie jest większe od 0.

<?php
    $i = 0;
    do{
        echo "$i, ";
        $i--;
    }
    while($i>0);
?>

Przykład użycia 4 rodzaji pętli do wyświetlenia wszystkich elementów tablicy:

<?php
    $dni_tygodnia = array("Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela");
    
    $i = 0;
    do{
        echo $dni_tygodnia[$i]."<br>";
        $i++; 
    }while($i < 7);
    
    $i = 0;
    while($i < 7){
        echo $dni_tygodnia[$i]."<br>";
        $i++;
    }
    
   
    for($i=0;$i<7;$i++){
        echo $dni_tygodnia[$i]."<br>";
    }

    foreach($dni_tygodnia as $dzien){
        echo $dzien. ", ";
    }