Estructuras condicionales
Las estructuras condicionales son utilizadas para tomar decisiones en función de que se cumpla o no una determinada condición.
La estructura condicional es:
<?php
if(condición){
instrucciones;
}
?>
Por ejemplo:
<?php
$num = 7;
if($num > 5){
echo “El número es mayor que 5”;
}
?>
En este ejemplo hemos declarado una variable llamada $num con el valor 7.
La estructura condicional siguiente se traduciría como:
Si $num es mayor que 5, entonces
muestra en pantalla “El número es mayor que 5”;
Como la condición se cumple, entonces se imprimiría el texto en pantalla.
Si cambiamos el valor, $num = 2, entonces la condición no se cumple y no se imprimiría ningún texto en pantalla, es decir, el código sería ignorado y continuaría con las siguientes instrucciones.
Esta estructura condicional se puede completar mediante el método “else”, que significa “si no”.
La estructura sería:
<?php
if(condición){
instrucciones;
}
else{
instrucciones;
}
?>
Siguiendo con el ejemplo anterior, nuestra estructura condicional quedaría:
<?php
$num = 2;
if($num > 5){
echo “El número es mayor que 5”;
}
else{
echo “El número no es mayor que 5”;
}
?>
Si $num es mayor que 5, entonces
muestra en pantalla “El número es mayor que 5”;
Si no,
muestra en pantalla “El número no es mayor que 5”;
En este caso, $num vale 2, con lo que la primera condicion (if) no se cumple, así que saltaría directamente al “else”, ejecutando las instrucciones que contenga.
Podemos añadir más condiciones usando el método “elseif”, que significa “si no, si”.
La estructura sería:
<?php
if(condición){
instrucciones;
}
elseif(condicion){
instrucciones;
}
else{
instrucciones;
}
?>
Por ejemplo:
<?php
$num = 5;
if($num > 5){
echo “El número es mayor que 5”;
}
elseif($num == 5){
echo “El número es igual que 5”;
}
else{
echo “El número no es mayor que 5”;
}
?>
Este código se traduciría literalmente como:
Si $num es mayor que 5, entonces
muestra en pantalla “El número es mayor que 5”,
Si no, si $num es igual que 5, entonces
muestra en pantalla “El número es igual que 5”;
Si no,
muestra en pantalla “El número no es mayor que 5”;
En este programa, primero se evalúa la primera condición (if), si se cumple, entonces se muestra el mensaje en pantalla y finaliza. Si no cumple el primer (if), salta al (elseif) y lo evalúa. Si el (elseif) se cumple, entonces muestra el mensaje en pantalla y finaliza. Si tampoco se cumple, salta a la última condición (else), y muestra el texto en pantalla.
Podemos añadir tantos (elseif) como condiciones queramos que haya.
Ahora vamos a ver estructuras condicionales más complejas gracias a la combinación de operadores de comparación y operadores lógicos.
<?php
$num = 3;
if($num > 0 && $num <= 5){
echo “El número se encuentra entre el 1 y el 5”;
}
elseif($num > 5 && $num <= 10){
echo “El número se encuentra entre el 6 y el 10”;
}
else{
echo “El número se encuentra en el rango de 1 al 10”;
}
?>
En esta condición hemos utilizado el operador lógico AND, que se representa mediante dos símbolos ampersand (&&). Este condicional devuelve “verdadero” si ambas comparaciones son verdaderas.
Vamos a traducirlo literalmente para entenderlo mejor:
Si $num es mayor que 0 Y $num es menor o igual que 5, entonces
muestra en pantalla “El número se encuentra entre el 1 y el 5”;
Si no, si $num es mayor que 5 Y $num es mejor o igual que 10, entonces
muestra en pantalla “El número se encuentra entre el 6 y el 10”;
Si no,
muestra en pantalla “El número no se encuentra en el rango de 1 al 10”;
En el ejemplo $num vale 3, con lo cual la primera condición (if) se cumple y mostraría el texto “El número se encuentra entre el 1 y el 5”.
Hay ocasiones en las que podría interesarnos que una sentencia (if) se cumpla, únicamente siendo verdadera una de las condiciones.
Para ello usaríamos el operador lógico OR, que se representa mediante dos símbolos (||) Alt Gr + 1
Por ejemplo:
Imaginemos que queremos saber el idioma en el que está configurado el navegador de nuestro visitante, y en función de este, mostrar nuestra web en un idioma u otro.
<?php
$idioma = “es-ES”;
if($idioma == “es-ES” || $idioma == “es-MX”){
instrucciones para poner idioma en español;
}
else{
instrucciones para poner idioma en inglés;
}
?>
La condición se traduciría:
Si $idioma es igual a “es-ES” o $idioma es igual “es-MX” entonces,
muestra la web en español;
Si no,
muestra la web en inglés;
En nuestro ejemplo, una de las dos condiciones se cumple, con lo que basta para que se ejecuten las instrucciones del primer (if).
https://danisanchez.net/curso-de-php/5-bucles-y-repeticiones-en-php/