foreach în PHP

Parcurge, pe rând, fiecare element dintr-un tablou.

Sintaxă
foreach ($tablou as $cheie => $valoare) { ... }

Ce face foreach

foreach este cea mai simplă metodă de a trece prin toate elementele unui tablou. La fiecare pas, elementul curent este pus în variabila de după as.

Dacă ai nevoie și de cheie, folosește forma $cheie => $valoare.

Exemple

Exemplul 1: Doar valorile

<?php
$orase = ["Iași", "Cluj", "Timișoara"];

foreach ($orase as $oras) {
    echo $oras . "\n";
}

Rezultat

Iași
Cluj
Timișoara

Exemplul 2: Chei și valori

<?php
$preturi = ["pâine" => 5, "lapte" => 8, "ouă" => 12];

foreach ($preturi as $produs => $pret) {
    echo "$produs costă $pret lei\n";
}

Rezultat

pâine costă 5 lei
lapte costă 8 lei
ouă costă 12 lei

Exemplul 3: Modificarea elementelor prin referință

Cu & în fața variabilei modifici direct tabloul original.

<?php
$numere = [1, 2, 3];

foreach ($numere as &$n) {
    $n = $n * 10;
}
unset($n);

print_r($numere);

Rezultat

Array
(
    [0] => 10
    [1] => 20
    [2] => 30
)

Greșeli frecvente

  • Modifici $valoare fără & și te aștepți să se schimbe tabloul. Fără referință, lucrezi pe o copie.
  • Nu faci unset pe variabila referință după buclă. Ea rămâne legată de ultimul element și îl poate modifica din greșeală mai târziu.

Comenzi înrudite

  • for: Repetă un bloc de cod de un număr cunoscut de ori.
  • while: Repetă un bloc de cod cât timp o condiție este adevărată.
  • array_map: Aplică o funcție pe fiecare element al unui tablou și returnează tabloul cu rezultatele.
  • count: Returnează numărul de elemente dintr-un tablou.