TUTORIAL PHP & MYSQL – 6. Bucles (segunda parte)

  • Javier Javier
  • hace 6 años
TUTORIAL PHP & MYSQL – 6. Bucles (segunda parte)

PHP-tutorial-6

Hola, en esta segunda parte del tutorial de bucles en PHP aprenderemos a usar los bucles "foreach" (con muy poca profundidad, ya veremos por qué), el uso de "break" y el de "continue". Pero antes voy a resolver el ejercicio que dejé pendiente la semana pasada, en el primer tutorial de bucles, propuse la creación a través de bucles de la serie de Fibonacci. Esta es mi solución, que puede ser tan válida como otras que vosotros hayáis hecho y hayan funcionado:
<?php
$anterior = 1;
$posterior = 1;
$serie = 1;
$fin = 100000;
while($serie < $fin){
    echo $serie . ", ";
    $serie = $anterior + $posterior;
    $anterior = $posterior;
    $posterior = $serie;
}
?>
Dicho esto pasamos a lo que realmente nos ocupa en este sexto tutorial de PHP en geekytheory. Hablemos primero del bucle foreach:

Bucle Foreach

Este tipo de bucle se usa con arrays, y no se le puede pasar nada diferente de un array o un objeto, si hacemos esto dará un error. Trataremos el tema de los arrays más adelante, pero dicho rápidamente, un array es una colección de valores a los que se accede por medio de un índice, tanto numérico como alfanumérico. El bucle foreach lo que hará será recorrer el array y almacenar cada uno de sus valores en una variable. Veamos un ejemplo:
<?php
$numeros = array("uno", "dos", "tres", "cuatro");
foreach($numeros as $valor){
    echo $valor . ", ";
}
?>
Primero se define el array "$numeros" y después se hace un bucle foreach, de la manera "foreach($numeros as $valor)", de esta forma, cada valor del array se almacena en la variable $valor cuando el bucle se va ejecutando. Existe otra forma de usar este bucle si queremos que también nos devuelva la clave (el índice) del valor:
<?php
$numeros = array("cero", "uno", "dos", "tres", "cuatro");
foreach($numeros as $clave => $valor){
    echo "La clave es $clave y el valor es $valor, ";
    echo "<br />";
}
?>

Break; y Continue;

Se utiliza break; para salir de un bucle aunque la condición sea verdadera (true), después de poner break; continúa la ejecución del programa, pero se sale del bucle. Veamos un ejemplo:
<?php
$i = 1;
while($i < 20){
    if($i == 10){
        break;
    }else{
        echo $i;
        $i++;
    }
}
?>
Esto imprimirá en pantalla una serie de números del 1 al 9, ya que al llegar al 10, la sentencia if se hace true y el break; fuerza la salida del bucle while. En cambio, se utiliza continue; cuando queremos saltar todo lo que hay dentro de un bucle e ir al principio de este. Ejemplo:
<?php 
$i = 1;
while($i < 20){
    if($i == 10){
        $i++;
        continue;
    }else{
        echo $i;
        echo "<br />";
        $i++;
    }
}
?>
Se ha usado un ejemplo muy parecido al anterior, en vez de usar break; se ha usado continue;, de esta forma la salida será una sucesión de números del 1 al 20 pero sin sacar el 10, en el que el If se hace true y el bucle continúa. Para ambos hay un parámetro opcional que indica de cuántos bucles anidados se quiere salir, la sintaxis sería:
break 2;
continue 2:
No os preocupéis si no entendéis muy bien estas dos instrucciones, su uso es bastante limitado, pero nunca está de más tener más herramientas para poder desenvolverte mejor. Y hasta aquí llega este sexto tutorial de PHP en geekytheory.com, espero que os haya gustado y si es así no olvidéis comentar. En el próximo tutorial veremos cómo usar arrays en PHP, cosa de la que no descarto hacer más de un tutorial debido a la longitud del tema. Un saludo. Enlaces Recomendados: [catlist name='Programación Web' orderby=time order=asc numberposts=100]
¿Qué opinas?