Pętla while ($i) powtarza się tak długo, jak warunek w nawiasie jest prawdziwy - a w PHP każda liczba różna od zera znaczy „prawda”, więc pętla działa, dopóki $i nie spadnie do zera. Na starcie $i = 10, a $a = 0. W każdym obrocie ciało pętli najpierw zwiększa $a o 2 (instrukcja $a = $a + 2), a potem $i-- zmniejsza licznik o jeden. Warunek przestaje być spełniony, gdy $i osiągnie 0, więc obrotów jest dokładnie dziesięć - dla $i równego kolejno 10, 9, …, 1. Skoro przy każdym z dziesięciu obrotów dodajemy 2, końcowy wynik to 10 × 2 = 20. Zapamiętaj regułę: liczbę powtórzeń pętli warunkowej wyznacza zmienna sterująca - tu $i maleje o 1, co daje 10 iteracji. Dlatego szukaną wartością jest 20.
Wszystkie błędne wyniki biorą się z pomyłki przy „ręcznym” prześledzeniu pętli. Wartość 0 oznaczałaby, że pętla nie wykonała się ani razu - ale $i startuje od 10, więc warunek od początku jest prawdziwy. Wynik 2 odpowiadałby tylko JEDNEMU obrotowi, a obrotów jest dziesięć (tyle, ile wynosi początkowe $i). Wartość 10 wyszłaby, gdyby $a rosło o 1 na obrót - tutaj jednak rośnie o 2 (instrukcja $a = $a + 2). Prześledź licznik krok po kroku: $i maleje o 1 aż do zera, czyli 10 obrotów, a w każdym dokładamy 2 do $a. Po dziesięciu obrotach po +2 otrzymujemy 10 × 2 = 20 - i to jest poprawny wynik.