Estimado , si mi memoria no me falla el foreach se utiliza en el caso de arreglos asociativos , es decir con un indice alfanumerico , de ese modo recorremos todo el arreglo y obtenemos los diversos valores que van tomando los componentes de dicho elemento.
En cambio el for se utiliza junto con arreglos tambien , pero solo cuando el indice de arreglo a leer por dicho indice del for es numerico es decir lo siguiente:
Con foreach:
Código php:
Ver original<?php
$datos=array("nombre"=>"Eugenio","nombre"=>"Marcos"); $datos_ordinal=array('cesar','carlos');
//-- Acceso mediante nombre del indice del elemento a accesar
foreach($datos as $elemento){
echo $elemento['nombre'];
}
//-- Impresión: de la llave y su valor.
foreach($datos as $elemento=>$valor){
echo "Llave: ".$elemento." valor: ".$valor;
}
//-- Acceso de arreglo indexado del tipo ordinal
$cantidad=count($datos_ordinal); for($i=0;$i<=$cantidad,$i++){
echo $datos_ordinal[$i];
}
?>
Creo que los ejemplos son bastantes claros.
Saludos!