Foreach() vendría a equivaler a tu típico:
for() .. haciendo un count() para recorrer un array común .. Pero, el foreach() es ideal para recorrer arrays. Mientras que el "for" o cualquier otro tipo de bucle (estructura de control) es más "genérico".
Un ejemplo:
Código PHP:
$array=array("algo","otracosa","nose");
foreach($array as $valor){
echo $valor."<br>";
}
Y biene muyyy bien cuando hay arrays asocitativos ..
Código PHP:
$array=array("algo"=>"nose","otracosa"=>"blabla","nose"=>"nosequeponer");
foreach($array as $indice=>$valor){
echo $indice."=>".$valor."<br>";
}
Otro ejemplo ... los arrays superglobales tipo $_POST .. $_GET .. $_SESSION .. etc .. Son "asociativos" .. así que "capturar" toda variable que nos llega por algún método, ejemplo: $_POST .. es tan simple como:
Código PHP:
foreach($_POST as $indice=>$valor){
echo $indice."=>".$valor."<br>";
}
(esto y poco más de lógica pordriamos tener un simple mail2form genérico)
Un saludo,