W PHP pętla for składa się z trzech elementów: inicjalizacji licznika, warunku kontynuacji oraz kroku (modyfikacji licznika). Wykonanie przebiega zawsze w tej kolejności:
- inicjalizacja (jednorazowo przed startem),
- sprawdzenie warunku (przed każdą iteracją),
- wykonanie instrukcji w ciele pętli (np. wypisanie wartości),
- krok pętli (zmiana licznika), po czym ponownie sprawdzenie warunku.
Poprawna odpowiedź "1 1" oznacza, że ciało pętli doprowadziło do dwóch wypisań i w obu przypadkach wypisywana była wartość 1 (np. stała, wynik porównania rzutowany na 1/0, albo wartość zmiennej, która przyjmowała 1 w obu iteracjach). Aby to ocenić, trzeba prześledzić kod wprost: ustalić wartość początkową licznika, sprawdzić, kiedy warunek jest spełniony i jak krok pętli wpływa na kolejne sprawdzenia.
Odpowiedzi z wystąpieniem "0" (np. "1 0", "1 0 1", "1 0 1 0") zwykle wynikają z błędnego założenia, że pętla naprzemiennie wypisuje 1 i 0 albo że licznik zmienia się inaczej niż w rzeczywistości. Częsta pułapka to mylenie operatorów porównania (< vs <=) oraz momentu zadziałania inkrementacji/dekrementacji (czy wartość zmienia się przed czy po użyciu). Inną typową pomyłką jest nieuwzględnienie, że warunek jest sprawdzany przed wejściem do iteracji, więc jedna zmiana w warunku może zmienić liczbę wypisań o 1.
Najbezpieczniejsza metoda egzaminacyjna: rozpisać tabelkę "wartość licznika → warunek → co wypisano → nowa wartość licznika" i zakończyć, gdy warunek przestanie być spełniony. To minimalizuje błędy intuicyjne i pozwala jednoznacznie wskazać wynik.