martes, 27 de abril de 2010

CICLOS

Tipos de Bucles
Existen 4 tipos de bucles para PHP, estos son:
While
Do...While
For
Foreach
Cada uno de ellos tiene su sintaxis y su uso específico. Cada uno estará explicado detalladamente luego.
While
Sintáxis:
while (condición) sentencia;
Su funcionamiento es sencillo, ya que primero se evalúa que la condición sea verdadera y luego se ejecuta, hasta que la condición pase a ser falsa; una sentencia while (Español: Mientras) puede que no se ejecute ni siquiera una vez, si su condición es inicialmente falsa.
Veamos un ejemplo de su uso:
( $i = 1;
while($i <= 3) $i += 1;
echo 'La variable $i vale: ' . $i ;
?> )
Salida:La variable $i vale: 4
Esta sintaxis de la instrucción while solo permite el uso de una sentencia dentro del bucle, en el ejemplo anterior la sentencia $i += 1 (ver Operadores) es la única que se repite.
Un bucle while puede contener varias sentencia, encerrándolas entre llaves ({}) o usando ésta sintaxis alternativa:
while (condición):
sentencia;
sentencia;
.
.
.
sentencia;
endwhile;
Do...While
Su uso es similar a while, pero aquí, las sentencias que siguen al do (Español: Hacer) se ejecutan por lo menos una vez y se comprueba la condición luego de la primera iteración; así, si es verdadera la condición se repite por segunda vez, si es falsa se continúa con las sentencias inmediatamente después de la instrucción while. Tiene sólo una sintáxis.
Sintáxis:
do {
sentencia;
sentencia;
.
.
.
sentencia;
} while (condición);
Todo lo explicado referente al bucle while se aplica también al do...while, sin embargo la principal diferencia con este es que el do...while siempre ejecuta al menos la primera iteración, mientras que en el while pudiera no ejecutar ninguna iteración, esto ocurre si la condición es falsa desde antes del inicio del bucle.
Un ejemplo con do...while:
$i = 5;
$n = 1;
do {
$n = $n * $i;
$i -= 1;
}while($i > 1);
echo "5! es igual a: " . $n
?>
Salida5! es igual a: 120
For
Los bucles for (Español: Para) son los más complejos en PHP (y en otros lenguajes de programación). Su sintaxis es la siguiente:
Sintáxis:
for (inicialización; condición; actualización) sentencia;
Inicialización: Es una expresión que ejecuta una sola vez al inicio y predetermina el primer valor inicial, mas comúnmente asignado a una variable ejemplo:
:$i = 1;
Condición: Es una expresión que se evalúa como falsa o verdadera, si es falsa el bucle finaliza, en caso contrario el bucle ejecuta la sentencia ejemplo:
:$i <= 5;
Actualización: Es una expresión que modifica la expresión de inicialización comúnmente en incremento o decremento Ejemplo:
:$i += 1
Nota: Observe que en esta ultima expresión no lleva (;).
Completada así la primera iteración se vuelve a evaluar la segunda expresión, y si esta es verdadera se ejecuta nuevamente la sentencia, con esto se completa una segunda iteración. Las iteraciones continúan hasta que la segunda expresión sea evaluada a falso.
En resumen estas expresiones son la inicialización, donde se dá el valor inicial a la variable de control del bucle; la condición que inicia cada iteración solo si es evaluada a verdadero; y el actualización o paso que incrementa o decrementa la variable de control al final de cada iteración para garantizar que la condición eventualmente evalúe a falso. veamos ahora como se utiliza:
for($i = 1; $i <= 5; $i += 1) echo $i . "\n";
?>
Salida
Foreach
Introducido en PHP 4 es una solución fácil para trabajar con arreglos, muy semejante a Perl y otros lenguajes, funciona solo en arreglos y presentara un error al utilizar una variable con diferente tipo o no inicializada. Existen dos sintaxis la segunda opción en menor pero tiene mejor uso que la primera.
Sintáxis:
foreach (expresión_arreglo as $valor)
sentencia
foreach (expresión_arreglo as $llave => $valor)
sentencia
En la primera forma los ciclos sobre el arreglo están dados por expresión_arreglo. En cada ciclo, el valor del elemento actual se asigna internamente a $valor y el puntero interno del arreglo avanza en uno de tal forma que en el siguiente ciclo vera el siguiente elemento.
La segunda forma es la misma cosa, salvo que la clave del elemento actual se asigna a la variable $llave en cada bucle.
A partir de PHP 5, también es posible iterar objetos.

No hay comentarios:

Publicar un comentario