Alternativa simple y doble
La alternativa simple o if, nos realiza una comprobación de una condición y si se cumple realiza una sentencia, y si no se cumple la condición, el programa sigue su ejecución:
<?php
error_reporting(0);
echo "<form method='post'>
Dame un número: $numero
<input id='numero' name='numero' value=''/>
<input type='submit' name='Enviar' value='Enviar'/>
</form>";
$numero = $_POST['numero']; //declaración de variable y recogida de datos
if ($numero == 4) //si se cumple la condición nos imprimirá un mensaje por pantalla
{
echo "El numero es 4";
}
?>
En este ejemplo podemos ver como el programa nos pide un número, comprueba el número introducido por el usuario y si es 4, nos avisa por pantalla, en caso contrario sigue adelante.
La alternativa doble o if…else… divide nuestro programa en dos caminos, en caso de que se produzca la condición del if, ejecutará una sentencia, en caso contrario ejecutara otra.
<?php
error_reporting(0);
echo "<form method='post'>
Dame un número: $numero
<input id='numero' name='numero' value=''/>
<input type='submit' name='Enviar' value='Enviar'/>
</form>";
$numero = $_POST['numero']; //declaración de variable y recogida de datos
if ($numero == 4) //si se cumple la condición nos imprimirá por pantalla un mensaje
{
echo "El numero es 4";
}
else //en caso contrario nos imprimirá otro
{
echo "El numero dado no es 4";
}
?>
En este ejemplo, nos vuelve a comprobar si el número introducido por el usuario es el 4, en ese caso, nos lo hace saber por pantalla. En caso contrario, nos hará saber que no lo es, al cumplirse la otra condición.
Alternativa múltiple
En el caso de alternativa múltiple estamos hablando del if…elseif…, el cual comprobará si se producen una serie de condiciones y ejecutará la sentencia de aquella que se cumpla. En caso de que ninguna condición se cumpla, se ejecutará la condición de por defecto, si la condición por defecto no ejecuta ninguna sentencia, no hace falta escribirla.
<?php
error_reporting(0);
echo "<form method='post'>
Dame un número: $numero
<input id='numero' name='numero' value=''/>
<input type='submit' name='Enviar' value='Enviar'/>
</form>";
$numero = $_POST['numero']; //declaración de variable y recogida de datos
if ($numero == 1) //Comprobación de cada uno de las distintas condiciones a cumplir
{
echo "El numero es 1";
}
elseif ($numero == 2)
{
echo "El numero es 2";
}
elseif ($numero == 3)
{
echo "El numero es 3";
}
elseif ($numero == 4)
{
echo "El numero es 4";
}
?>
En este ejemplo, comprueba el número dado y según sea nos mostrará por pantalla un resultado u otro. Asimismo, este ejemplo se puede realizar con switch y case:
<?php
error_reporting(0);
echo "<form method='post'>
Dame un número: $numero
<input id='numero' name='numero' value=''/>
<input type='submit' name='Enviar' value='Enviar'/>
</form>";
$numero = $_POST['numero']; //declaración de variable y recogida de datos
switch ($numero) { //comprobación de la opción que se cumple.
case '1':
echo "El valor dado es 1";
break;
case '2':
echo "El valor dado es 2";
break;
case '3':
echo "El valor dado es 3";
break;
case '4':
echo "El valor dado es 1";
break;
default:
break;
}
?>
Ciclo Precondición
Pasamos ahora a hablar de la sentencia while… la cual nos comprobará una condición, si se cumple y mientras se cumpla dicha condición nos ejecutará una parte del programa
<?php
$numero = 0; //inicializa variable a 0
while ($numero <10){ //mientras se cumpla condición de ser menor a 10 se repite
echo "$numero, ";
$numero ++; //incrementa la variable
}
?>
Ciclo For
El ciclo For nos va a realizar de forma reiterada una serie de sentencias mientras se cumple una condición. La diferencia con el ciclo while, es que en la propia instrucción, junto con la condición, hay que declarar una variable, la cual se va a incrementar/decrementar de forma automática.
<?php
for($numero=0; $numero<=10; $numero++){ //Se declara variable, se introduce condición y se incrementa la variable
echo "$numero, ";
}
?>
En este caso, nos imprimirá por pantalla la variable $numero mientras su valor inicial de 0, no sea mayor que 10.
El programa comprobará la condición cada vez que termine de ejecutar la iteración, en caso de que ya no se cumpla, el programa seguirá ejecutándose normalmente.
Ciclo Postcondición
El ciclo do…while es muy similar a la de while… excepto que la condición y por lo tanto la verificación viene al final. Esto nos asegura que como mínimo el ciclo se ejecutará una vez, en comparación con el ciclo while.
<?php
$numero = 0; //se declara la variable
do{
echo "$numero, ";
$numero ++; //se incrementa la variable
}while($numero<=10); //La condición a cumplir
?>
En este ejemplo, como en el anterior, nos imprimirá por pantalla el valor de la variable $numero, hasta que éste sea 10. La diferencia es que le estamos diciendo que primeramente la ejecute obligatoriamente aunque no se cumpla la condición, tras lo cual verificará si es necesario que se vuelva a repetir el ciclo o no.
Ciclo Iterar
En este caso, se trate de un ciclo normal como los explicados anteriormente, pero tiene una condición en su interior que si se cumple, se rompe el ciclo para continuar con el resto del programa.
<?php
$total=65536; //Se declara la variable total
$i=1; //se declara la variable que va a hacer de contador. (opcional)
$limite=4; //Una variable que nos limitará el número de veces que se va a repetir el ciclo
while (true) { //condición a cumplir
$raiz=sqrt($total);
echo "La raiz cuadrada de $total es $raiz.<BR>";
$total=$raiz; //Se actualiza el valor de la variable
$i++; //se incrementa el contador
if ($i>$limite) //condición para romper el ciclo
break;
}
$bucle=$i-1; //Numero de veces que se repite el ciclo.
echo "Este bucle se ha repetido $bucle veces.";
?>
Contadores y Acumuladores
Los contadores o acumuladores son una serie de sentencias usadas precisamente para lo que su nombre indica: contar o acumular.
Para ello se usa de una variable, la cual suele ir introducida dentro de un bucle o ciclo y mientras se ejecuta dicho ciclo, va a ir almacenando información de forma actualizada, es decir, va a ir reemplazando su antiguo valor por uno nuevo cada vez que se realiza la iteración.
<?php
$n = 1; //se declara variable
for($numero=1; $numero<=5; $numero++) //Se declara la variable i, se da la condición para el ciclo y se incrementa la variable
{
$n= $n * $numero; //Se actualiza el valor de la variable
}
echo "El factorial de 5 es: $n";
?>
Este es un claro ejemplo, donde calculamos el factorial de 5. Se declara la variable que va a hacer de acumulador. Se pone el ciclo con la condición y dentro del mismo se declara que el valor del acumulador se vaya actualizando cada vez que se ejecuta el ciclo.
Otro ejemplo muy sencillo de contador en este caso:
<?php
$n = 0; //se declara la variable
for($producto=1; $producto<=5; $producto++) //Declaración de variable, condición e incremento de la variable
{
echo "Se ha introducido un nuevo producto <br/>";
$n++; //incremento del contador
}
echo "Hay $n productos";
?>
En este caso nos va ir introduciendo el programa nuevos productos y cada vez que lo hace se incrementa la variable que hace de contador, una vez terminado el ciclo, nos imprimirá cuantas veces se ha actualizado el valor de dicha variable.