Anuncios

Bienvenidos sean a este post, hoy veremos como trabajan los otros bucles, hablemos del primero.

Anuncios

while

Los bucles while son una pequeña evolucion de los bucles dado que se los considera bucles infinitos, esto es debido que a diferencia de for no cuentan la cantidad de vueltas para cumplir una condicion y salir sino que trabajan con una condicion donde solamente si se cumple procede a salir del mismo, esta condicion en general puede ser una respuesta o un caracter para cumplirse, veamos su sintaxis:

while (condicion)
{
    ... instrucciones ...
}
Anuncios

Como pueden ver su sintaxis es bien simple donde tenemos primero la condicion, seguido del bloque donde procesa toda la informacion necesaria, para entender el concepto vamos a hacer un ejemplo simple y para ello crearemos un nuevo archivo que llamaremos bucle.php y le agregaremos el siguiente codigo:

bucle.php

<?php

$rta="";
while($rta != "q")
{
	$rta = readline("Ingresa un texto (q para salir):");
	if ($rta=="Q")
	{
		$rta="q";
	} else {
		$array = explode(" ", $rta);
		$rta = implode("_",$array);
		echo $rta . "\n";
	}
}
echo "Gracias por usar el programa!\n";

?>
Anuncios
Anuncios

Es un ejemplo simple y trivial pero nos servira para entender el concepto, primero debemos crear una variable global que sera la utilizada en el bucle, luego tenemos un bucle el cual se ejecutara mientras la variable rta sea distinta de q, luego tenemos en el bloque a nuestra variable donde usaremos a readline para ingresar un texto y almacenarlo en este, aqui aclaramos que se debe usar q para salir del programa, despues tenemos un condicional donde en caso de que ingresemos Q, es decir en mayuscula, lo transformaremos en minuscula ya que esto es para salir de cualquiera de las dos formas pero tenemos un else donde creareamos un array con el explode, visto en este post, despues usaremos a implode para volver a unir todo el texto y lo usaremos para reemplazar los espacios en blanco por guiones bajos, por ultimo mostramos a la variable rta remendada, por ultimo tenemos una ultima linea donde mostraremos un texto indicando la salida del programa una vez cumplida la condicion del bucle, con esto comentado podemos pasar a probar el codigo y ver como es su salida mediante el siguiente video

Anuncios

Como podemos ver en el video podemos ingresar y procesar toda la informacion que necesitemos todas las veces que sean necesarias y solo se detendra cuando se cumpla la condicion, como estaran pensando esto es ideal para un menu donde estaremos monitoreando siempre las posibles opciones que podamos usar, pasemos la misma funcion pero un poco distinto.

Anuncios

do…while

Esto es exactamente lo mismo que lo anterior pero tiene dos diferencias marcadas, hablemos de la primera que es la sintaxis:

do
{
    ... instrucciones ...
}
while (condicion);
Anuncios

Primero comenzara con un do seguido del bloque con las instrucciones para finalizar con un while y la condicion tal como lo vimos en el caso anterior, la otra diferencia es que primero ejecuta las instrucciones para luego verificar si la condicion se cumple o no, en caso de no cumplirse vuelve a ejecutar el bloque de lo contrario sale, en el caso de while primero verifica la condicion y en caso de no cumplirse procede a ejecutar el bloque de instrucciones, para entender el concepto vamos a tomar el codigo anterior y lo modificaremos de la siguiente manera:

bucle.php

<?php

$rta="";
do
{
	$rta = readline("Ingresa un texto (q para salir):");
	if ($rta=="Q")
	{
		$rta="q";
	} else {
		$array = explode(" ", $rta);
		$rta = implode("_",$array);
		echo $rta . "\n";
	}
}
while($rta != "q");
echo "Gracias por usar el programa!\n";

?>
Anuncios
Anuncios

El codigo es exactamente lo mismo a lo visto anteriormente pero en este caso lo adaptamos a do…while, donde primero comenzamos con el do, seguido del mismo bloque anterior y por ultimo el while con la condicion y el punto y coma para terminarlo, seguido del mensaje de salida, si lo prueban deberan obtener la misma salida a la vista en el video anterior, por lo tanto la unica diferencia entre ambas es cuando se procesara la informacion si antes de la condicion o despues de la condicion, lo cual se ajustara a la necesidad de nuestro codigo en el momento de utilizarlo.

Anuncios

En resumen, hoy hemos visto otra variante de bucles, usualmente denominados bucles infinitos, estos nos permiten crear bucles por medio de otras condiciones, hemos visto las dos opciones disponibles, el while donde primero verifica si no se cumplio la condicion y procede a ejecutar las instrucciones y despues a do…while donde primero ejecuta y luego verifica si se cumple la condicion para repetir el bucle o no, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.50