Příkaz foreach

Při práci s poli je velice častou operací průchod celého pole a jeho zpracování. V PHP3 šlo průchod polem realizovat několika různými způsoby, které byly více či méně elegantní. V PHP4 tyto problémy odpadají — k dispozici je nový příkaz foreach, který slouží k postupnému zpracování všech prvků pole. Pro vypsání všech prvků pole $pole můžeme použít následující kód:

$pole = array(...);
foreach ($pole as $hodnota)
{
  echo $hodnota;
}

Můžeme využít i alternativní syntaxi, kterou známe z ostatních příkazů pro větvení a cykly.

$pole = array(...);
foreach ($pole as $hodnota):
  echo $hodnota;
endforeach;

Jednotlivé prvky pole jsou předávány jako hodnota a ne jako reference. Pokud chceme při průchodu polem jednotlivé prvky pole modifikovat, musíme znát i index jednotlivých prvků. K tomu můžeme využít drobně modifikovanou podobu příkazu foreach.

$pole = array(...);
foreach ($pole as $index => $hodnota)
{
  echo $hodnota;                // vytiskneme obsah prvku
  $pole[$index] = 100;          // do prvku pole uložíme hodnotu 100
}

Příkaz foreach prochází pole jen přes jeden rozměr. Pokud chceme zpracovat všechny prvky vícerozměrného pole, musíme do sebe foreach několikrát vnořit.

© Jiří Kosek 2000