3 przykłady PHP while: Pętla While

Czym są pętle?

Wyobraźmy sobie sytuację, że chcemy wyświetlić ciąg liczb, który zaczyna się od pewnej wartości przechowywanej w zmiennej, a kończy na 100.

Należałoby za każdym razem sprawdzać czy 100 już zostało osiągnięte. Uczyliśmy się na poprzednich lekcjach, że sprawdzaniem warunków zajmują się takie instrukcje jak if, czy switch.

Z ich wykorzystaniem wyglądałoby to mniej więcej tak:

<?php
if($zmienna < 101)
{
  echo $zmienna;
  $zmienna++;
}
if($zmienna < 101)
{
  echo $zmienna;
  $zmienna++;
}
.
.
.
if($zmienna < 101)
{
  echo $zmienna;
  $zmienna++;
} 
?>

Jak widzisz, zajmuje to dość dużo miejsca. Nie wiemy w dodatku, ile instrukcji warunkowych if musimy wstawić, aby dojść do 100, bo nie znamy pierwszej zmiennej. Potrzebna jest nam metoda, która będzie wykonywała daną instrukcję, aż warunek nie zostanie osiągnięty, niezależnie od ilości przebiegów. Taką metodę w programowaniu nazywamy pętlą.

PHP while

Zobaczmy rozwiązanie powyższego problemu przy pomocy pętli while.

Składnia pętli while w PHP wygląda następująco:

<?php
while($zmienna < 101) // warunek kontynuacji pętli
{
  echo $zmienna;
  $zmienna++;
} 
?>

Widzimy, że kod stał się dużo krótszy. Do tego nie obchodzi nas początkowa wartość $zmiennej, gdyż nie określamy liczby przebiegów pętli.

While z angielskiego tłumaczymy jako „podczas gdy”. Wyżej przedstawiony warunek możemy przetłumaczyć na język polski: „Podczas gdy zmienna jest mniejsza od 101 wykonaj następujące instrukcje”.

Jeśli zmienna osiągnie wartość 101, interpreter przechodzi do pozostałej części kodu. Jeżeli $zmienna na początku byłaby większa od 100, instrukcje w pętli nie wykonałyby się ani razu.

Podsumowując, pętle to takie konstrukcje w programowaniu, które wykonują wybrany blok kodu do momentu, aż warunek im podany nie zostanie złamany. Dopóki warunek jest spełniony, pętla wykonuje blok operacji i znowu sprawdza, czy warunek jest spełniony.

Bez pętli niemal nie da się programować. Dlatego ważne, żeby dobrze zrozumieć ich działanie. Dlatego zobaczmy jeszcze dwa przykłady:

<?php
while($zmienna < 101) // warunek kontynuacji pętli
{
  echo $zmienna;
  $zmienna += 10; // zmienna może się zmieniać szybciej/wolniej/wcale
} 
?>
<?php
while($zmienna < 101 && $inna > 100) // warunek kontynuacji pętli
{
  echo $zmienna;
  echo $inna;
  $zmienna += 10; // zmienna może się zmieniać szybciej/wolniej/wcale
  $inna -= 5; // sprawdzanych może być wiele zmiennych
} 
?>

Zauważ, że warunek kontynuacji pętli (wykonywania kodu w bloku nawiasów klamrowych) może składać się z kilku warunków. Podobnie jak przy instrukcjach warunkowych, możemy łączyć wiele warunków i dostawać logiczny rezultat.

Następna lekcja poświęcona będzie pętli do… while. Jest to lekko zmodyfikowana pętla while, która wymusza co najmniej jeden przebieg. Zapraszam!

Spis lekcji w rozdziale drugim

Poprzednia lekcja: Instrukcja switch Następna lekcja: Pętla do… while

Dodaj komentarz