Cita:
Iniciado por David el Grande yo diría que la principal diferencia es que en un bucle for al momento de iniciarse (en la mayoría de los casos) ya se sabe cuántas iteraciones tendrá el código, mientras que en el bucle while no, la condición puede darse en cualquier iteración.
Creo que tampoco es asi, ya que se saben o no las veces que se va a ejecutar el bucle dependiendo de si trabajamos con variables o constantes, y tanto FOR y WHILE (sea en Visual o en PHP) pueden trabajar con ambas. Ejemplos:
For en Visual Basic:
For n = z to y
print n
next n
For en PHP:
for ($n = $z; $n <= $y; $n++) {
echo "$n<br>";
}
While en Visual Basic:
n = z
Do While n < y
print n
Loop
While en PHP:
$n = $z;
While ($n < $y) {
echo "$n<br>";
}