Pętle w PHP: while, do while, for i foreach w praktyce

Pętle w PHP: while, do while, for i foreach w praktyce

W tym artykule nauczysz się powtarzać serię działań przy użyciu pętli w PHP.

Rodzaje pętli w PHP

Pętle służą do wykonywania tego samego bloku kodu w kółko, tak długo, jak spełniony jest określony warunek. Podstawowa idea pętli to zautomatyzowanie powtarzalnych zadań w programie i oszczędzenie czasu oraz wysiłku. PHP obsługuje cztery rodzaje pętli.

  • while – wykonuje blok kodu tak długo, jak podany warunek jest prawdziwy.
  • do while – blok kodu wykonuje się raz, a dopiero potem sprawdzany jest warunek. Jeśli warunek jest prawdziwy, instrukcja powtarza się tak długo, jak długo pozostaje prawdziwy.
  • for – wykonuje blok kodu, dopóki licznik nie osiągnie zadanej wartości.
  • foreach – wykonuje blok kodu dla każdego elementu tablicy.

Na koniec tego rozdziału będziesz też wiedzieć, jak przejść po wartościach tablicy pętlą php foreach. Pętla php foreach działa wyłącznie z tablicami.

Pętla PHP while

Instrukcja php while powtarza blok kodu tak długo, jak warunek podany w instrukcji php while jest prawdziwy.

php while

php
while(condition){
    // Kod do wykonania
}

Poniższy przykład tworzy pętlę, która zaczyna od $i=1. Pętla działa tak długo, jak $i jest mniejsze lub równe 3. $i rośnie o 1 przy każdym przebiegu:

php while

php
$i = 1;
while($i <= 3){
    $i++;
    echo "Le nombre est " . $i . "<br>";
}

Wynik:

Le nombre est 2
Le nombre est 3
Le nombre est 4

Pętla PHP do while

Pętla php do while to wariant pętli while, który sprawdza warunek na końcu każdej iteracji. W pętli php do while blok kodu wykonuje się raz, a dopiero potem oceniany jest warunek. Jeśli warunek jest prawdziwy, instrukcja powtarza się tak długo, jak długo pozostaje prawdziwy.

php while

php
do{
    // Kod do wykonania
}
while(condition);

Kolejny przykład tworzy pętlę, która zaczyna od $i=1. Zwiększa $i o 1 i wypisuje wynik. Dopiero potem sprawdzany jest warunek, a pętla działa tak długo, jak $i jest mniejsze lub równe 3.

php do while

php
$i = 1;
do{
    $i++;
    echo "The number is " . $i . "<br>";
}
while($i <= 3);

Wynik:

Le nombre est 2
Le nombre est 3
Le nombre est 4

Różnica między while a do while

Pętla php while różni się od pętli php do while w jednym istotnym punkcie: w pętli php while warunek jest sprawdzany na początku każdej iteracji, więc jeśli wyrażenie warunkowe jest fałszywe, pętla nie wykona się ani razu.

W pętli php do while jest odwrotnie: pętla zawsze wykona się raz, nawet gdy wyrażenie warunkowe jest fałszywe, ponieważ warunek sprawdzany jest na końcu iteracji, a nie na początku.

Pętla PHP for

Pętla php for powtarza blok kodu, dopóki spełniony jest określony warunek. Zwykle używa się jej, żeby wykonać blok kodu zadaną liczbę razy.

php for

php
for(initialisation; condition; incrementation){
    // Kod do wykonania
}

Parametry pętli php for mają następujące znaczenie:

  • inicjalizacja – służy do zainicjowania zmiennych licznika, jest wykonywana raz, bezwarunkowo, przed pierwszym przebiegiem ciała pętli.
  • warunek – sprawdzany na początku każdej iteracji. Jeśli daje true, pętla działa dalej i wykonują się zagnieżdżone instrukcje. Jeśli daje false, wykonywanie pętli się kończy.
  • inkrementacja – aktualizuje licznik pętli nową wartością. Jest wykonywana na końcu każdej iteracji.

Poniższy przykład tworzy pętlę, która zaczyna od $i=1. Pętla działa, dopóki $i jest mniejsze lub równe 3. Zmienna $i rośnie o 1 przy każdym przebiegu:

php for

php
for($i=1; $i<=3; $i++){
    echo "Le nombre est " . $i . "<br>";
}

Wynik:

Le nombre est 2
Le nombre est 3
Le nombre est 4

Pętla PHP foreach

Pętla php foreach służy do iterowania po tablicach.

php foreach array

php
foreach($array as $value){
    // Kod do wykonania
}

Kolejny przykład pokazuje pętlę, która wypisze wartości podanej tablicy:

php foreach array

php
$colors = array("Rouge", "Vert", "Bleu");

// Pętla po tablicy kolorów
foreach($colors as $value){
    echo $value . "<br>";
}

Wynik:

Rouge
Vert
Bleu

Istnieje jeszcze druga składnia pętli php foreach, będąca rozszerzeniem pierwszej.

php foreach key value

php
foreach($array as $key => $value){
    // Kod do wykonania
}

php foreach key value

php
$superhero = array(
    "nom" => "Peter Parker",
    "email" => "peterparker@marvel.com",
    "âge" => 16
);

// Pętla po tablicy superbohaterów
foreach($superhero as $key => $value){
    echo $key . " : " . $value . "<br>";
}

Wynik:

nom : Peter Parker
email : peterparker@mail.com
âge : 18

Podsumowanie

Pętle powinny być już dla ciebie jasne. Jeśli szukasz kolejnych artykułów, żeby dopracować swoją znajomość PHP, zajrzyj do wpisu o tworzeniu i formatowaniu dat w PHP oraz do tutoriala o Laravelu, który daje podstawy pracy z frameworkiem PHP.

PHP

Damien Flandrin Web developer od 2010 roku, twórca Gekkode i Email Impact. Każdy artykuł jest sprawdzany na prawdziwym projekcie przed publikacją. Kontakt
Newsletter

Nowe testy, poradniki i projekty — e-mailem.

Powtarzalne testy, wersjonowany kod, datowane wyniki. Nigdy spamu.