Pętla while wykonuje blok kodu tak długo, jak długo podany warunek jest prawdziwy. Warunek sprawdzany jest przed każdym obiegiem pętli, więc jeśli od początku jest fałszywy, kod wewnątrz pętli nie wykona się ani razu.
Składnia
while (warunek) {
// instrukcje do wykonania
}
Przykład
$i = 0;
while ($i < 5) {
echo $i;
$i++;
}
Kod wyświetli: 01234. Zmienna $i jest zwiększana po każdym obiegu pętli. Gdy osiągnie wartość 5, warunek $i < 5 stanie się fałszywy i pętla się zakończy.
Zastosowanie w analizie tekstu
Pętla while często służy do przechodzenia po znakach tekstu, np. aż do znalezienia określonego znaku:
$n = '[email protected]';
$i = 0;
while ($n[$i] != '@') {
echo $n[$i];
$i++;
}
Ten kod wypisuje kolejne znaki przed znakiem @, czyli adres.
Typowe błędy
- brak zwiększania licznika, co może spowodować pętlę nieskończoną,
- błędny warunek zakończenia,
- odwołanie do znaku poza zakresem tekstu.
Dlatego często dodaje się warunek zabezpieczający, np. $i < strlen($n).