Pętla typu „do…while” powoduje zapętlenie blok kodu do czasu, aż nie zostanie spełniony określony warunek. Jeśli warunek nie zostanie spełniony pętla będzie powtarzać się w nieskończoność.
Przykładowa pętla:
<!DOCTYPE html>
<html>
<body>
<?php
$i = 1;
do {
echo $i;
$i++;
} while ($i < 8);
?>
</body>
</html>
Wynik działania pętli:
1234567
Analizując powyższy kod -> Widzimy, że warunkiem zakończenia pętli jest by $i miało wartość mniejszą od 8. Z pomocą funkcji $i++;
zwiększamy wartość $i za każdym razem o 1. $i++;
umieszczone jest po wypisaniu dlatego wynik działania pętli kończy się na „7”. Gdyby $i++;
było przed wypisaniem w tedy ostatnią cyfrą była by 8 jednak pierwszą było by „2” a nie „1”.
Analogicznie możemy tworzyć inne podobne pętle. Dla przypomnienia symboli porównania:
> - większe
< - mniejsze
<= - mniejsze lub równe
>= - większe lub równe
= - równe
Przerwanie pętli z pomocą break
Czasami tworząc pętle chcemy dokonać jej zakończenie/ przerwania również w innym monecie niż ten określony na końcu. Do uzyskania takiego efektu przyda nam się „break”. Przykład:
<!DOCTYPE html>
<html>
<body>
<?php
$i = 1;
do {
if ($i == 4) break; // przerwanie pętli
echo $i;
$i++;
} while ($i < 6);
?>
</body>
</html>
Wynik:
123
Jak widać kiedy $i osiągnęło wartość „4” pętla została przerwana.
Pominięcie elementu w pętli continue
Podobnie jak przerywaliśmy wypisywanie liczb możemy również pominąć jakąś określoną. Do tego celu użyjemy „continue”.
<!DOCTYPE html>
<html>
<body>
<?php
$i = 0;
do {
$i++;
if ($i == 3) continue; // pominięcie elementu w pętli
echo $i;
} while ($i < 8);
?>
</body>
</html>
1245678
W uzyskanym ciągu nie posiadamy numeru „3”.
Do czego może na się przydać ta pętla? Przykładowo po modyfikacji do wypisywania informacji z bazy danych, wraz z czymś w rodzaju uproszczonego filtra. Czyli nie wyrzucamy wszystko jak leci a jedynie treści spełniające określone kryteria.
źródła: https://www.w3schools.com/php/php_looping_do_while.asp