#3.1 IF y ELSE PHP con ejemplos

Explicación y ejemplos de if y else en php, resueltos paso a paso.

Programacion web

Los condicionales son la forma más básica de las estructuras de control. Son una herramienta simple pero potente que nos acercará a la realización de scripts complejos.

En este tutorial de condicionales voy a tratar las sentencias IF y ELSE con ejemplos php.  En concreto en este tutorial voy a tratar los siguientes conceptos del curso php:

  • Uso de variables en php
  • Operaciones aritméticas en php
  • Estructuras de control en programación

¿Para qué sirven if y else ?

Las sentencias if else nos permiten, al igual que otras estructuras de control, poner una condición de ejecución a unas líneas determinadas de código, todas ellas contenidas por norma general entre llaves:

<?php
if ( 1 < 5 ) {
    echo '1 es menor que 5';
}
?>

En este ejemplo php he realizado una comparación obvia, pero estoy delimitando el uso de la sentencia echo a que se cumpla la condición (1 < 5). Las sentencias if y else tienen sentido cuando hablamos de supuestos, es decir, que pasaría si... Además, si traducimos directameente del inglés, podremos ver que justamente "if" es un si condicional.

Imagina las posibilidades del clima mañana en un día normal de primavera, las posibilidades serían que llueva, que haga sol o que esté nublado. La planificación del día siguiente según estas posibilidades sería la equivalencia de los condicionales en la programación: si mañana llueve llevaré botas y paraguas; sí mañana hace sol llevaré manga corta y chaqueta fina; si mañana está nublado cargaré con el paraguas pero me pondré zapatos.

Imaginemos ahora el ejemplo real que te he expuesto pero solucionándolo con un script php. Tenemos una variable $clima que puede tener el valor 'lluvia', 'sol' o 'nubes' y dependiendo de esta vamos a mostrar un mensaje u otro.

<?php
if ( $clima == 'lluvia' ){
     echo 'Llevaré botas y paraguas';
}
if ( $clima == 'sol' ){
    echo 'Llevaré manga corta y chaqueta fina';
}
if ( $clima == 'nubes' ){
    echo 'Cargaré con el paraguas pero me pondré zapatos';
}
?>

El script que has visto mostrará el mensaje correspondiente al valor que tome la variable $clima. He cubierto todas las posibilidades del problema, por lo tanto es una solución completa.

Como puedes ver, las posibilidades de uso de los condicionales son enormes, y es que el uso de if y else te acompañará al o largo de todo tu aprendizaje php y con toda seguridad en tus desarrollos futuros de la mayoría de lenguajes de programación que toques.

Cómo se usan if y else en php

La sentencia if

Usar if y else es sencillo, en el punto anterior has visto varios ejemplos de uso, una muestra de la forma de trabajar con if. Veamos un ejemplo más complejo: un script que dependiendo del valor tomado por una variable $numero diga si este es negativo o positivo.

<?php
if ( $número < 0 ){
    echo 'El valor de la variable $número es menor que 0';
}
if ( $número > 0 ){
   echo 'El número ' . $número . ' es positivo ';
}
?>

Hemos condicionado la ejecución de una línea de código o varias dependiendo de una condición programada por nosotros. Esta condición también puede ser múltiple utilizando las sentencias && (o and), || (o or).

En el próximo ejemplo nos pasan un número con el día del mes en formato númerico, y según un rango de valores diremos si es principio, mitad o final de mes:

<?php
if (  $diaMes < 7 ){
     echo 'Estamos a primeros de mes';
}
if ( $diaMes >= 7 && $diaMes <=23 ){
    echo 'Es mediados de mes';
}
if ( $diaMes > 23 ){
    echo 'Es final de mes';
}
?>

En este ejemplo he resuelto los primeros días del mes (del 1 al 6) y los últimos (del 24 al 31) con if's de una sola condición, mientras que para el intervalo de días entre las dos condiciones anteriores he utilizado &&, esto indica que deben cumplirse ambas condiciones para que el resultado de estas condiciones sea verdadero.

Si en vez de && (y) hubiera puesto || (o) tan solo debería haberse cumplido una condición para que el resultado del conjunto fuera verdadero (true en programación).

La sentencia else

La sentencia else es la segunda parte del binomio if y else. 

Así como la sentencia if por si sola o anidándola nos da la posibilidad de solucionar múltiples casos indicando siempre al menos una condición que debe resultar en verdadero, la sentencia else, que siempre debe ir tras un if, nos permite condicionar la ejecución de un código si el if relacionado no se cumple.

Veamos una solución del ejemplo anterior para decir si un número es negativo o positivo utilizando ahora if y else:

<?php
if ( $número < 0 ) {
   echo 'El número ' . $número . ' es negativo';
} else {
   echo 'El número ' . $número . ' es positivo';
}
?>

Si este ejemplo de php lo leyéramos en lenguaje común sería así: Si el número es menor que 0 entonces el número es negativo, sino el número es positivo. El else tal cual su significado en inglés es un "sino", así que siempre que no se cumpla un if, su else será cierto y su contenido será ejecutado.

Posibilidades de if y else

Las sentencias if y else combinadas o anidadas nos permitirán solucionar problemas complejos. Por ejemplo:

Script php que siempre muestra el mayor de tres números $a, $b, $c:

<?php
if ( $a > $b ){
   if ( $a > $c ) {
      echo 'El mayor es ' . $a;
   } else {
      echo 'El mayor es ' . $b;
   }
} else { //$a será mayor que $b
   if ( $b > $c ) {
      echo 'El mayor es ' . $b;
   } else {
      echo 'El myor es ' . $c;
   }
}
?>

En este ejemplo he utilizado if y else para ir dividiendo las posibilidades de dos en dos, si te es demasiado complejo recuerda que el truco está en observar las llaves de cada condicional, ignorando las líneas que contienen si su condición no se cumple, o en el caso del else si la condición del if se ha cumplido.

El resultado de este código será siempre un mensaje indicando cuál de los números es el mayor.

Afianza if y else con ejercicios

Recuerda, dominar estos es práctica, mucha práctica. Para acabar de entender estas sentencias te recomiendo que realices una serie de ejercicios php y revises sus soluciones después. Aquí te dejo ejercicios y sus soluciones:

Sobre el autor

Javier Gómez Redactor en Srcodigofuente.es

Javier Gómez

Ingeniero técnico en informática de gestión. Desarrollador web freelance y profesor de desarrollo web a partes iguales. Testarudo autodidacta, creativo, perfeccionista y alma libre.

Cargando comentarios

Utilizamos "cookies" para información estadística. Si continúas navegando aceptas su uso.