W PHP pętla foreach służy do wygodnego przechodzenia po elementach tablicy. Działa zarówno dla tablic indeksowanych, jak i asocjacyjnych. Najczęściej używa się jej w formach:
- foreach ($tablica as $wartosc) – gdy interesują nas tylko wartości,
- foreach ($tablica as $klucz => $wartosc) – gdy potrzebujemy zarówno klucza (indeksu), jak i wartości.
To właśnie spełnia sens pytania: wykonujemy operacje na wszystkich elementach tablicy, a dostęp do elementów odbywa się bez ręcznego sterowania indeksem (PHP sam przechodzi po kolejnych pozycjach i podstawia klucz/wartość).
Dlaczego pozostałe odpowiedzi są niepoprawne w tym kontekście?
- while – to pętla warunkowa. Aby przejść tablicę, trzeba samodzielnie przygotować warunek (np. sprawdzanie licznika) oraz zadbać o jego zmianę. Nie jest to konstrukcja "do tablic" i nie daje automatycznie klucza/wartości elementu.
- for – pętla licznikowa. Może iterować po tablicy indeksowanej, ale wymaga jawnej inicjalizacji licznika, warunku zakończenia i inkrementacji oraz zwykle użycia indeksu (np. $tablica[$i]). Nie zapewnia automatycznego przejścia po kluczach tablic asocjacyjnych bez dodatkowych operacji.
- do...while – wariant pętli warunkowej, który wykona się co najmniej raz. Tak jak while wymaga przygotowania warunku i kontrolowania zmiennych sterujących; nie jest dedykowany do iteracji po tablicy.
Wskazówka egzaminacyjna: jeśli w pytaniu pojawia się iteracja po tablicy i praca na wszystkich elementach, domyślnym wyborem jest foreach, zwłaszcza gdy mowa o kluczach i wartościach.