W każdej iteracji wartość bieżącego elementu tablicy jest przypisywana do zmiennej, a wskaźnik przesuwa się o jeden - aż do ostatniego elementu. Opis ten pasuje do instrukcji:
Źle.
if to instrukcja warunkowa, nie pętla.Źle.
switch wybiera wariant wykonania, nie iteruje po tablicy.Źle.
next przesuwa wskaźnik tablicy, ale samo nie tworzy pętli iterującej.Dobrze.
foreach przechodzi po kolei przez wszystkie elementy tablicy.Opisane zachowanie - „weź bieżący element, przypisz do zmiennej, przejdź do następnego, aż do końca” - to dokładnie pętla
foreach. Iteruje ona po wszystkich elementach tablicy (lub kolekcji), w każdym obrocie udostępniając wartość (a opcjonalnie i klucz), np. foreach ($tab as $element) { echo $element; }. Programista nie musi sam pilnować indeksu ani warunku końca - pętla robi to automatycznie, co czyni ją wygodniejszą od klasycznego for przy przeglądaniu tablic. Dlatego opis pasuje do instrukcji foreach.Pozostałe instrukcje nie iterują po tablicy w opisany sposób.
if to instrukcja warunkowa - wykonuje kod tylko, gdy warunek jest spełniony, i nie powtarza się w pętli. switch wybiera jedną z gałęzi w zależności od wartości wyrażenia, również bez iteracji po kolejnych elementach. next faktycznie przesuwa wewnętrzny wskaźnik tablicy o jeden, ale samodzielnie nie tworzy pętli przechodzącej przez całość - służy do ręcznego poruszania się po tablicy. Automatyczne przejście przez wszystkie elementy realizuje foreach, dlatego to ona jest poprawna.