foreach to konstrukcja języka PHP służąca do iterowania po elementach tablicy oraz obiektów możliwych do przechodzenia, np. implementujących Traversable. W kontekście egzaminacyjnym najczęściej przyjmuje się, że foreach jest pętlą przeznaczoną do elementów tablicy.
Nie jest to instrukcja wyboru ani instrukcja warunkowa. Jej zadaniem nie jest sprawdzanie warunku jak if, lecz powtarzanie bloku kodu dla kolejnych elementów kolekcji.
Składnia podstawowa
$liczby = [10, 20, 30];
foreach ($liczby as $liczba) {
echo $liczba . "<br>";
}
W tym przykładzie zmienna $liczba przyjmuje kolejno wartości: 10, 20, 30.
Iteracja po kluczu i wartości
$uczen = [
"imie" => "Anna",
"wiek" => 18
];
foreach ($uczen as $klucz => $wartosc) {
echo $klucz . ": " . $wartosc . "<br>";
}
Wynik:
imie: Anna
wiek: 18
Najważniejsze cechy foreach
- jest to pętla,
- służy do przechodzenia po elementach tablicy,
- automatycznie pobiera kolejne elementy,
- nie wymaga ręcznego podawania indeksu,
- dobrze nadaje się do tablic asocjacyjnych.
Różnica między foreach a for
Pętla for zwykle działa na liczniku:
for ($i = 0; $i < count($tablica); $i++) {
echo $tablica[$i];
}
Pętla foreach jest prostsza, gdy trzeba przejść przez wszystkie elementy tablicy:
foreach ($tablica as $element) {
echo $element;
}
Na egzaminie należy zapamiętać: foreach w PHP to rodzaj pętli, a nie instrukcja wyboru ani konstrukcja warunkowa.