Buenas seguimos el camino del aprendizaje de PHP y si entendieron bien los capitulos anteriores estamos en condiciones de decir que ya sabemos lo que es una variable, los operadores y como es la sintaxis de PHP, posiblemente todo eso suelto no nos sirva para hacer mucho y llegamos a ese punto donde creo yo que vamos a aplicar esos conocimientos.
Los condicionales son para mi forma de ver demasiados sencillos de entender si los relacionamos con la vida cotidiana.
Una buena definición de condicionales es que vamos a realizar cierta acción si se cumple cierta condición.
Un ejemplo en la vida cotidiana sería,
"si mi mama me da 10$ y yo tengo 5$, en total tendré 15$ y me alcanzaría para comprarme una bolsa de caramelos, sino solamente tendré 5$ y me alcanzaría para 2 chicles"."Si en el examen de matemáticas me saco una nota mayor o igual a 6 apruebo sino tendré que rendir un recuperatorio."De esta forma vemos que de acuerdo a distintas situaciones que se presentan en la vida, tendremos que tomar distintas decisiones.
En PHP y en la
mayoría de los lenguajes de programación estos condicionales se representan con un IF y un ELSE
El IF se podría leer como "SI tal cosa..." y el ELSE como "sino hago tal otra"
Empecemos por el if y su sintaxis.
<?php
if (condicion)
{
código que se ejecuta si la condición es verdadera
código que se ejecuta si la condición es verdadera
código que se ejecuta si la condición es verdadera
}
?>
Entonces vemos que tenemos el IF una condición y un código que se ejecutara si esa condición resulta verdadera. en el ejemplo de las matemáticas podemos tener el siguiente código.
<?php
$notaExamen = 7;
if ($notaExamen >= 6)
{
echo 'Estoy contento porque aprobé el examen';
}
?>
Como ven, ya en la condición del if estamos utilizando los operadores que vimos en el capitulo anterior y el código se leería así:
$notaExamen es igual a 7;
Si $notaExamen es mayor ó igual a 6 entonces muestro por pantalla "estoy contento...."
En el ejemplo anterior la condición se cumple y somos todos felices pero el poder de los condicionales esta en poder hacer una o mas acciones de acuerdo a los distintos tipos de resultados que obtenemos, entonces que pasaría si la condición no se cumple? sencillamente se ejecuta el ELSE
Sintaxis del else:
<?php
if (condicion)
{
Codigo que se ejecuta si la condicion del IF es verdadera;
}
else
{
codigo que se ejecuta si la condicion del IF es falsa
}
?>
Como pueden ver, el ELSE por si solo no tiene fuerza o justificación, el ELSE solo se pone si queremos mencionar alguna actividad a ejecutar cuando el IF es falso, pero no es obligatorio ponerlo.
Si seguimos con el ejemplo del examen
<?php
$notaExamen = 7;
$notaParaAprobar = 6;
if ($notaExamen >= $notaParaAprobar)
{
echo 'Estoy contento porque aprobé el examen';
}
else
{
echo 'Soy medio burro, Mi nota es menor a '.$notaParaAprobar.' y no apruebo el examen';
}
?>
Es sencillo no? Que pasa si queremos tener mas de una condición a comparar? Para eso existe lo que se llama anidar IF y podemos utilizar la herramienta ELSEIF
<?php
if (condicion)
{
Codigo que se ejecuta si la condicion del IF es verdadera;
}
elseif (condicion2)
{
Codigo que se ejecuta si la codicion es falsa y la condicion2 es verdadera;
}
elseif (condicion3)
{
Codigo que se ejecuta si (codicion y condicion2) es falsa y la condicion3 es verdadera;
}
else
{
codigo que se ejecuta si todas las condiciones anteriores son falsas es falsa
}
?>
Como verán, el código ira preguntando hasta encontrar una condición verdadera si no la encuentra ejecutar el ELSE final.
<?php
$notaExamen = 7;
$notaParaAprobar = 4;
$notaMinimaParaPromocionar = 8
$condicionFinalAlumno = '';
if ($notaExamen >= $notaMinimaParaPromocionar)
{
$condicionFinalAlumno = 'Soy alumno promocionado wiiii';
}
elseif ($notaExamen >= 4)
{
$condicionFinalAlumno = 'No soy alumno promocionado pero aprobe el examen!';
}
else
{
$condicionFinalAlumno = 'No aprobe el examen, tendre que recuperar..';
}
echo $condicionFinalAlumno;
?>
Ahora lo complique un poquitin al codigo, agregue 2 nuevas variables una que se ira completando de acuerdo a la nota del examen y otra para agregar un condicional mas, hay 3 posibilidades ser alumno promocionado, aprobado y no aprobado.... de acuerdo la nota el script nos dira que tipo de alumno seremos al final.
Tenemos la posibilidad de escribir el IF - ELSE de una forma mas corta, que es muy utilizada por programadores y que al principio puede resultar confusa
(condicion) ? ejecutar si es verdadero : ejecutar si es falso;
Es casi lo mismo pero de una forma mas corta, fíjense que la condición, el signo de pregunta seria el IF y los 2 puntos ":" serian el else.
Un ejemplo seria:
<?php
$animal = "gato";
$perro = ($animal == 'perro') ? true : false;
if($perro)
echo 'soy perro';
else
echo 'soy otro animal';
?>
Leanlo varias veces para entenderlo, cambien la variable animal de gato a perro y vean los distintos resultados.
Si vieron bien, en la expresión a ejecutar en el if y en else no utilice llaves, esto es porque no es necesario utilizarlas si solo se va a ejecutar una expresión, si tuviera que hacer mas cosas dentro del IF como asignar una variable, una consulta otro IF o cosas así, si necesitamos utilizar las llaves porque es un bloque de código.
Eso es todo, espero que pregunten y prueben, hagan muchas pruebas sobre esto que es fundamental entenderlo bien bien.
Saludos