martes, 15 de octubre de 2013

Sentencias alternativas y ciclos en PHP

Un bucle o ciclo es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse. Se usa para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro.

Hay cuatro tipos de bucles en PHP:
  • While: Primero evalua que la condición sea verdadera y luego se ejecuta (precondición), hasta que la condición pase a ser falsa. Puede que no se ejecute ninguna vez si su condición es inicialmente falsa. Ejemplo:
    <?php
    $i = 1;
    while ($i <= 10) {
    echo "$i";
    $i++;
    }
    ?>

    Este ejemplo inicializa una variable a 1 y luego pone la condición de que si la variable $i es menor o igual que 10, escribe el valor actual de la variable y luego le suma 1. La instrucción se repite hasta que $i pase de 10. Cuando pasa de 10, se termina el programa. Es "Mientras $i sea menor o igual que 10, escribir su valor actual y sumarle 1".
  • Do... While: Su uso es similar a while, pero aquí, las sentencias que siguen al do se ejecutan por lo menos una vez y se comprueba la condición después 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. Ejemplo:
    <?php
    $i = 1;
    do {
    echo "$i";
    $i++;
    } while ($i <= 10);
    ?>

    Este ejemplo hace lo mismo que el anterior, solo que ahora primero se pone la instrucción a ejecutar y luego la condición. Es "escribir el valor de $i y sumarle 1 mientras que $i sea menor o igual que 10" (postcondición).
  • For: Los bucles for son los más complejos en PHP. Tienen la siguiente estructura:
    1. Inicialización: Es una expresión que se ejecuta sólo una vez al inicio y predetermina el primer valor inicial.
    2. 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.
    3. Actualización: Es una expresión que modifica la expresión de inicialización comúnmente en incremento o decremento.
    Ejemplo:
    <?php
    $i = 1;
    for ($i = 10) {
    echo "$i";
    $i++;
    }
    ?>

    Este bucle es similar al bucle while.
  • Foreach: Funciona sólo en arrays y presenta un error al utilizar una variable con diferente tipo o no inicializada. Es un buen método de iteración de objetos y arrays. Ejemplo:
    <?php
    $array = array(1, 2, 3, 4);
    foreach ($array as &$valor) {
        $valor = $valor * 2;
    }
    // $array ahora es array(2, 4, 6, 8)
    unset($valor); // rompe la referencia con el último elemento
    ?>

Contadores y acumuladores
Un acumulador es un registro donde se almacenan los resultados lógicos y aritméticos intermedios. Sin un registro acumulador, sería necesario escribir el resultado de cada operación en la memoria primaria. Acceder a la memoria primaria es más lento que acceder a un registro acumulador.

Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. Se usan con la finalidad de contar sucesos o acciones internas de un bucle; deben realizar una operación de inicialización y posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en asignarle al contador un valor inicial. Se situará antes y fuera del bucle.


1 comentario:

  1. Te falta indentar en los ejemplos, explicar el ciclo iterar y ¿qué es un arreglo?

    ResponderEliminar