martes, 28 de febrero de 2012

Estructuras Condicionales



Las estructuras condicionales se utilizan para tomar decisiones según se cumpla o no una determinada condición. Ejemplo:

<?php
$num = 7;
if ($num > 5) {
echo "El número es mayor que 5";
}
?>

En este pequeño script, hemos definido una variable llamada $num, y le hemos asignado el valor de 7.

La condición es que si la variable $num es mayor que 5, muestre en pantalla el texto "El número es mayor que 5". En este caso la condición se cumple.

Si el valor de $num hubiera sido inferior a 5, simplemente no se habría mostrado nada en pantalla, ya que la condición no se cumple.

La declaración de sentencias de control es sencilla:

if (condición) {
sentencia;
}

Todo lo que se escribe entre las llaves {} se ejecuta en caso de que la condición se cumpla.

IMPORTANTE! 
El signo "=" en PHP significa "asignación", no "igualdad".
Es decir, en una condición, sería incorrecto escribir esto:

if ($num = 5) {
echo "El número es igual a 5";
}

Lo correcto es:

if ($num == 5) {
echo "El número es igual a 5";
}

Esto quiere decir que para que PHP interprete el signo (=) como de igualdad, se debe representar doble (==), sino lo interpretará como asignación.


Condicionales lógicos.

Podemos poner más de una condición dentro de un mismo if, mediante un operador lógico, el &&. 

Ejemplo:

<?php
$edad = 32;
if ($edad > 20 && $edad < 40) {
echo "Su edad es mayor de 20, pero menos de 40";
}
?>

Esta sentencia se traduciría coloquialmente como, "Si edad es mayor que 20 y y también es menor que 40, entonces muestra en pantalla el mensaje".

Hemos asignado dos condiciones, una que la edad sea mayor de 20, y otra que la edad sea menor de 40. Si se cumplen las dos condiciones, entonces muestra en pantalla el texto del echo, de no cumplirse alguna o ninguna de las condiciones, no se mostraría nada en pantalla.

Podemos usar otro operador lógico, como el "||", que significa "O" y se aplica de la siguiente forma:

<?php
$edad = 10;
if ($edad > 20 || $edad < 40){
echo "La edad es mayor de 20 o menor de 40";
}
?>

Esta sentencia se traduciría coloquialmente como, "Si edad es mayor que 20 o es menor que 40, entonces muestra en pantalla el mensaje".

En este caso no es necesario que las dos condiciones se cumplan, basta con que se cumpla alguna de ellas para que se ejecute la sentencia.

Por último podemos usar el operador lógico de negación "!".

Este operador hace justo lo contrario de lo que englobe la condición, por ejemplo:

<?php
$edad = 10;
if (! ($edad > 20)) {
echo "La edad No es mayor de 20";
}
?>

La condición se cumple, puesto que 10 no es mayor que 20.

Hasta ahora hemos visto cómo ejecutar una determinada sentencia si una o más condiciones se cumplen, pero no hemos visto qué podemos hacer cuando la condición NO se cumple.

Para ello añadimos a nuestro script el complemento "else".

Ejemplo:

<?php
$num = 7;
if ($num > 5) {
echo "Es mayor que 5";
} else {
echo "Es menor que 5";
}
?>

Dicho coloquialmente diríamos, Si el número es mayor que 5, muéstrame "Es mayor que 5", y si no, muéstrame "Es menor que 5".

En este ejemplo, 7 es mayor que 5, y mostraría el primer echo. Si el número hubiera sido por ejemplo 3, ignoraría el primer echo y saltaría al segundo.
Pero puede ser que queramos definir más condiciones con distintos resultados, en lugar de los dos posibles (Sí y No). Para ello usamos "else if".

Lo vemos mejor con un ejemplo:

<?php
$num = 5;
if ($num > 5) {
echo "Es mayor que 5";
} else if ($num == 5) {
echo "Es igual que 5";
} else {
echo "Es menor que 5";
}
?>

Dicho coloquialmente sería, Si el número es mayor que 5, muéstrame "Es mayor que 5", si no, si  el número es igual que 5, muéstrame "Es igual que 5", si no, muéstrame "Es menor que 5".

Así pues, podemos poner tantas condiciones queramos con solo añadir líneas de else if , y para la última condición usamos el else a solas.

Bueno, nos tomamos un descanso y seguiremos con los Arrays o Tablas.






No hay comentarios:

Publicar un comentario en la entrada