Si algo usamos en cualquier lenguaje de programación son los bucles los que nos permiten repetir mientras se cumple una condición una sentencia de forma repetida y que si jugamos con las variables podemos conseguir resultados de todo tipo.
En el lenguaje PHP probablemente los bucles más utilizados son los bucles While (y su variante do … while), for, foreach.
Bucle while y do … while
El bucle While se suele utilizar bajo una condición inicial pongamos por ejemplo que queremos que una variable aumente de valor mientras sea inferior a 100. La solución sería así de sencilla:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $variable = 0; while($variable<100) { $variable++; echo $variable; $valorfinal = $variable; } echo $valorfinal; // Si imprimimos la variable dentro del bucle // con un simple echo $variable; lo que estaremos // haciendo será imprimir 100 veces la variable // con su valor correspondiente en cada vuelta. // $valorfinal solo lo devolverá cuando termine de // recorrer el bucle y con el valor final. ?> |
Si usamos la alternativa do … while nos encontraremos con la diferencia de que la instrucción del bucle siempre se va ejecutar una vez ya que compara la condición al final de esta. Ejemplo de como lo escribiríamos:
1 2 3 4 5 6 7 8 |
<?php $variable = 0; do { $variable++; echo $variable; $valorfinal = $variable; } while($variable<100); echo $valorfinal; |
Bucle for
Los bucles for son perfectos cuando sabemos el número de veces que queremos ejecutar una sentencia o cuando tenemos una variable con el número de veces que necesitamos que se ejecute la sentencia. Es una costumbre casi un estándar aunque no una obligación poner de nombre a las variables que controlan el bucle los nombres $i, $j, $k.
1 2 3 4 5 6 7 8 9 10 |
<?php // La variable $i la ponemos de la siguiente forma para contar de 1 a 100 for ($i=1,$i<=100;$i+1) { // $i=1 Asignamos el valor que la variable tendrá al inicio del bucle // $i<=100 La condición para salir del bucle, que sea menor o igual a 100 // $i+1 la forma en la que se incrementa la variable en este caso de uno en uno echo $i; } |
Bucle foreach
El buble foreach es probablemente el más usado cuando se trabaja con arrays especialmente cuando comenzamos a usar datos obtenidos de bases de datos. De forma muy sencilla podremos recorrer todos los elementos de un vector.
1 2 3 4 5 6 7 8 9 |
<?php $variablevector = array(1, 2, 3); //Declaramos el array con los valores que nos interesa recorrer en el bucle foreach ($variablevector as $variable) { echo $variable; } // El resultado de este bucle será la de todos los valores del array en este caso 123. ?> |
Una característica muy interesante de los bucle foreach es que podemos trabajar también con los indices de un array, ejemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php $variablevector = array( "Uno" => 1, "Dos" => 2, "Tres" => 3 ); foreach ($variablevector as $valor => $variable) { echo "$valor es $variable \n"; } // Nos devolverá el valor // Uno es 1 // Dos es 2 // Tres es 3 ?> |
¿Cuál es el bucle que más usas?