Programación con PHP 5 – 2.7.2.4 Loop for

2.7.2.4 Loop for
El bucle mas facil de usar, tien el estilo del for del lenguaje C .
En PHP tiene 2 formatos de uso :

Statement Statement List
for (expr,expr, …;expr,expr, …;expr,expr, …)
statement
for (expr,expr, …;expr,expr, …;expr,expr, …):
statement list
endfor;

Este loop acepta 3 argumentos
for (expresiones_inicio;expresiones_verdad;expresiones_incremento)

En la mayoria de veces solo hay una expresion por cada argumento.
Las expresiones_inicio son evaluadas solo cuando el loop es alcanzado. Usualmente es usado para inicializar las variables de control del loop.
Las expresiones_verdad son evaluadas al comenzar cada iteración del loop. Si es true se ejecuta el loop y si es falso el loop termina.
Las expresiones_incremento son evaluadas asl finalizar cada iteración del llop y antes de avaluar las expresiones_verdad.
Usualmente es usado para incrementar la variable de control del loop pero puede ser usada tambien para otro proposito.

Las ordenes break y continue son usadas en la misma forma que en el loop while.
continue hace una evaluacion de las expresiones de control y re-evalua las expresiones_verdad.

Tambien podemos tener un loop infinito

for (;;){
    print "Soy infiniton";
}

PHP no conoce como optimizar loops invariables. Por ejemplo en el sgte for count($array) no se puede optimizar para ser ejecutado solo una vez.

for ($i = 0; $i <= count($array); $i++) {
}
//En este caso el array tiene tamaño fijo pero en cada
//iteración se evaluará la expresion_incremento
// Debe ser reescrito como :

$count = count($array);
for ($i = 0; $i <= $count; $i++) {
}

Esto garantiza obtener el mejor performance durante la ejecución del loop.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s