Una de dos:
O yo tenía mal programado el bucle while (que como en la vida, siempre tenemos fallos), o internamente es más eficiente el bucle for que el while (que puede ser, aunque la lógica nos indica todo lo contrario).
Recordar que para aquella persona que requiera del uso de un bucle for(), una manera de salirse dada una condición (dentro del bucle):
Código PHP:
if ( /*condicion */ ) {
break;
}
Un saludo y es un gran apoyo tener foros tan activos como este, con gente dispuesta a ayudarte!