Marcofbb Noticias y Artículos Webmasters



Publicidad marcored

Tipos de bucles en PHP

  • 13/02/2011
  • 5:27 am
  • marcofbb

Un bucle sirve para ejecutar repetidas veces una tarea, por ejemplo , una función que muestra los ultimos 5 usuarios registrados, lo unico que cambia es el nombre del usuario pero la estructura es siempre la misma.

En PHP existen cuatro tipos de bucles: while, Do while, for y foreach

Bucle while

El bucle while repite todo lo que esta dentro del bloque hasta que la condicion pase de true a false.

Estructura

while (condición)
{
[Instrucciones];
}

En este ejemplo vamos a contar hasta 30, cuando llege al número 30 se va a detener el bucle.

<html>
<head>
<title>Clase de PHP: Bucles</title>
</head>
<body>
<?php
$desde=1;
while($desde<=30)
{
  echo $desde;
  echo "<br>";
  $desde++;
}
?>
</body>
</html>

La variable $desde tiene el valor 1 antes de iniciar el while. Cada vez que se ejecuta el bloque del while se le incrementa $desde en 1, cuando la variable $desde llegue a 30 se detendra el while y seguira prosesando el resto de la página.

Es importante notar que luego de la condición del while NO disponemos PUNTO y COMA.

Bucle do while

Este bucle no es muy diferente al anterior, la única diferencia es que primero ejecuta la instruccion y después se fija si cumple la condición, al cumplicar vuelve a ejecutar una vez más y así sucesivamente

Estructura

do 
{
[Instrucciones];
} while (condición);

Tener en cuenta que al final de la línea del while SI LLEVA punto y coma.

Bucle for

El bucle for tiene la siguiente estructura

for([Inicialización de la variable];[Condición];[Incremento o decremento de la variable])
{
[Instrucciones];
}

Siguiendo el mismo ejemplo anterior, el de contar del 1 al 30, lo vamos a hacer con el bucle for ahora.

<html>
<head>
<title>Clase de PHP: Bucles</title>
</head>
<body>
<?php
for($i=1;$i<=30;$i++)
{
  echo $i;
  echo "<br>";
}
?>
</body>
</html>

Este ciclo se repite hasta que la condicion for se verifica false, es decir, en este ejemplo va a repetir las veces que sea necesaria para que $i llege con el valor 30.

En este caso inicia la variable en el valor 1, puede ser cualquier número. El segundo argumento es la condición en este caso es que tiene que repetir hasta que $i llege a 30. El tercer argumento es el incremento o decremento de la variable $i, en este caso es $i++, es decir, se incrementa en 1 el valor de $i. (también podemos poner en lugar de $i++ la asignación $i=$i+1)

Bucle foreach

El bucle foreach nos permite iterar para cada elemento de un vector.

Estructura

<?php
$vector = array("uno", "dos", "tres");
foreach ([Nombre del array] as [Variable que identifica el valor del elemento]) { 
   [Código]
}
?>

su sintaxi es sencilla, solo hay que indicar el identificador de la matriz, la expresion as y seguidamente la variable que identificará el valor del elemento.

Ejemplo:

<?php
$vector = array("uno", "dos", "tres"); 
foreach ($vector as $valor) { 
   echo "Valor: $valor<br>"; 
} 
?>

$vector es la variable donde esta alojado el array y $valor es la variable que identificará al valor del array.

El bucle foreach tambien nos permite trabajar con vectores con indice en este caso la estructura es la siguiente

<?php 
$vector = array( 
   "uno" => 1, 
   "dos" => 2, 
   "tres" => 3, 
   "diecisiete" => 17 
); 
foreach ($vector as $key => $value) {
echo "$key vale $value <br>";
}
?>

Como vemos en este caso especificamos la variable que identifica el indice y la que identifica el valor separadas por =>

Hilo donde están todos los artículos para aprender PHP

¿Alguna duda? Dejen sus comentarios, ya sea para dudas o alavos todo viene bien.

Share

¿Necesitas ayuda? o ¿Asesoramiento webmaster? Registrate en nuestro foro de consultas

Posts Relacionados

Total de Comentarios: 6

Avatar
13/02/2011
5:29 am

[...] en PHP Clase 2: Variables y Constantes Clase 3: Estructura condicional (if/elseif/else) Clase 4: Tipos de bucles (while, Do while, for y foreach) MeneameBitacorasRedditDeliciousGoogle [...]

Avatar
15/08/2011
6:12 pm

Tambien se puede hacer bucle con
etiqueta:
[instrucciones]
goto etiqueta;

Avatar
17/06/2012
12:48 am

[...] Visto en: marcofbb.com.ar [...]

Avatar
Juan Cruz
03/07/2013
3:43 pm

Una pregunta:

Si yo tengo un array del 1 al 50 y quiero mostrar desde el 25 hasta el 40 como seria el codigo?

Y hay alguna forma de no poner los 50 numeros en el array? En otros lenguajes se puede poner [1..50]

Gracias

    Avatar
    03/07/2013
    6:07 pm

    Hola juan Cruz,
    Para mostrar solo del 25 al 40 sabiendo que son arrays cuyo indice es consecutivo (1 2 3 4 5 6), el código seria el siguiente

    $i = 25;
    while($i <= 40){ echo $array[$i]; } Para no tener que poner los indices numéricos en el array podes hacer $array[] = 'Array cuyo indice es 0'; $array[] = 'Array cuyo indice es 1'; $array[] = 'Array cuyo indice es 2'; Saludos

Avatar
Rob
20/09/2015
12:10 am

Hola, una consulta como puedo parar este bucle do while

 
 
 
 
 
 
 
 
 
 
 
 
 
 

Total x mes












Enviar Comentario

(*)

(*)