Estas equivocado: un while puede incluso no iterar una sola vez si la condicion no se cumple.
$a=5;
While ($a<2)
echo '*';
¿ cuantos asteriscos decis que salen en pantalla ? ¿ que tiene que ver que ejecute el while un millon de veces si 5 nunca es menor que 2 ?
Otro ejemplo:
Código PHP:
<?php
$c=0;
For ($i=1;$i<100;$i++){
while ($c==0){
echo '*';
++$c;
}
}
?>
¿ cuantos asteriscos decis que salen ? 100 ? creo que no