Blog
Estructura if (si…)
- Publicado por: leo
- Categoría: Curso principiante PHP
Bienvenido a esta sección del curso básico para aprender PHP, en la cual veremos nuestra primera estructura de control en PHP, que es la estructura if (o si, en español). Esta estructura es realmente básica en cuanto a programación se refiere, esta evaluará si una condición es verdadera (true) o falsa (false), y ejecutará un bloque de código según sea el caso, o no ejecutará nada; esto depende totalmente de la naturaleza de la condición que definimos en nuestro if, lo que quiere decir que depende de nosotros o de la necesidad que tenga nuestro proyecto de programación. Es muy importante aprender esta estructura, ya que como te dije es la mas básica y te dará una noción mas clara de lo que es la programación en PHP.
¿Qué son las estructuras de control en PHP?
Las Estructuras de Control están en el centro de la lógica de programación. Permiten que un script reaccione de manera diferente dependiendo de lo que ya ha ocurrido, o basado en la entrada del usuario, y permiten el manejo elegante de tareas repetitivas.
En PHP, hay dos tipos principales de Estructuras de Control: Sentencias Condicionales y Bucles de Control.
Las sentencias condicionales le permiten redirigir la ruta de ejecución en un script en función de si una o varias condiciones evalúan a verdadero o falso. En pocas palabras, te permiten probar cosas y realizar varias acciones basadas en los resultados.
Conociendo la estructura if
La estructura de control if es una de las características más importantes de muchos lenguajes, incluido PHP. Permite la ejecución condicional de fragmentos de código. PHP dispone de una estructura if que es similar a la de lenguaje C:
if (condicion) { sentencia }
Como se describe en la sección sobre expresiones , la expresión es evaluada a su valor booleano. Si la expresión se evalúa como TRUE (verdadera), PHP ejecutará la sentencia y si se evalúa como FALSE la ignorará.
El siguiente ejemplo mostraría la oración: “a es mayor que b” si $a es mayor que $b:
<?php if ($a > $b) { echo "a es mayor que b"; } ?>
Este ejemplo ilustra el tipo más simple de sentencia If. Las sentencias siempre comienzan con “if”, seguido de una condición que va escrita entre paréntesis. Si la condición se evalúa a true, entonces la sentencia o sentencias inmediatamente después de la condición serán ejecutadas. En este caso, si la condición hubiera sido falsa, no habría ocurrido nada y habría visto una ventana en blanco del navegador cuando se ejecutó el script.
Cuando se tiene más de una sentencia a ejecutar dentro de una estructura de control, es necesario rodearlas con paréntesis:
<?php $x=1; if ($x == 1) { echo '$x es igual a 1'; $x++; echo 'ahora $x es igual a 2'; } ?>
Ten en cuenta que el posicionamiento de los elementos no afecta a la ejecución del script. Todos los ejemplos siguientes son perfectamente válidos no sólo para las Sentencias If, sino para cualquier forma de bucle o estructura de control.
if ($x == 1) echo '$x es igual a 1'; if ($x == 1) echo '$x es igual a 1'; if ($x == 1) { echo '$x es igual a 1'; } if ($x == 1) { echo '$x es igual a 1'; }
En interés de la claridad, muchos programadores optan por utilizar sangrías y corchetes incluso en bloques de código de una línea; sin embargo, en última instancia, se trata de una cuestión de preferencia personal de codificación.
También puede incluir múltiples condiciones entre paréntesis. Para que las sentencias anidadas se ejecuten, todas las condiciones deben evaluar a true.
<?php $x=1; if ($x == 1 O $x == 2) echo '$x es igual a 1 (o tal vez a 2)'; ?>
También podemos hacer una secuencia de if anidados, como por ejemplo:
if (condicion) { # codigo... if (condicion) { # codigo... if (condicion) { # codigo... if (condicion) { # codigo... } } } }
Estructura Else
Como su nombre lo indica, las otras declaraciones le permiten hacer otra cosa si la condición dentro de una declaración If evaluada es falsa.
Con frecuencia se desea ejecutar una sentencia si una determinada condición se cumple y una sentencia diferente si la condición no se cumple. Esto es para lo que sirve else. El else extiende una sentencia if para ejecutar una sentencia en caso que la expresión en la sentencia if se evalúe como FALSE. Por ejemplo, el siguiente código deberá mostrar la oración “a es mayor que b” si $a es mayor que $b y “a NO es mayor que b” en el caso contrario:
<?php if ($a > $b) { echo "a es mayor que b"; } else { echo "a NO es mayor que b"; } ?>
La sentencia else sólo es ejecutada si la expresión if es evaluada como FALSE
Estructura else if/elseif
Hasta ahora, hemos sido capaces de responder a una condición, y hacer algo si esa condición no es cierta. ¿Pero qué hay de la evaluación de múltiples condiciones? Tu podrías usar una serie de Declaraciones if para probar cada condición potencial, pero en algunas situaciones esa no es una opción adecuada. Aquí es donde entran en juego los Elseif.
Una combinación de Declaraciones if y Otras, las Declaraciones if se evalúan secuencialmente si la condición dentro de la Declaración if es falsa. Cuando una condición dentro de una instrucción If de Else se evalúa a true, se analizan las sentencias anidadas, el script detiene la ejecución de toda la estructura If/Else if/Else. El resto del guión procede a ser analizado.
elseif, como su nombre lo sugiere, es una combinación de if y else. Del mismo modo que else, extiende una sentencia if para ejecutar una sentencia diferente en caso que la expresión if original se evalúe como FALSE. Sin embargo, a diferencia de else, esa expresión alternativa sólo se ejecutará si la expresión condicional del elseif se evalúa como TRUE. Por ejemplo, el siguiente código debe mostrar a es mayor que b, a es igual que b o a es menor que b:
<?php if ($a > $b) { echo "a es mayor que b"; } elseif ($a == $b) { echo "a es igual que b"; } else { echo "a es menor que b"; } ?>
Puede haber varios elseif dentro de la misma sentencia if. La primera expresión elseif (si hay alguna) que se evalúe como TRUE sería ejecutada. En PHP también se puede escribir ‘else if’ (en dos palabras) y el comportamiento sería idéntico al de ‘elseif’ (en una sola palabra). El significado sintáctico es ligeramente diferente (si se está familiarizado con C, este es el mismo comportamiento) pero la conclusión es que ambos resultarían tener exactamente el mismo comportamiento.
La sentencia elseif es ejecutada solamente si la expresión if precedente y cualquiera de las expresiones elseif precedentes son evaluadas como FALSE, y la expresión elseif actual se evalúa como TRUE.
Ejercicio propuesto
Realiza una estructura if que muestre la oración “Aprender PHP es genial” si $b es mayor que $a, y que cuente con una estructura else, que tenga la oración “Hola mundo”.
$a = 7; $b = NULL; if ($a > $b) { echo "Hola california"; } else { echo "b es mayor que a"; }
Solución al ejercicio propuesto:
$a = 7; $b = 8; if ($a > $b) { echo "Hola mundo"; } else { echo "Aprender PHP es genial"; }
Salida en pantalla:
Aprender PHP es genial
Esta es la primera estructura de control de PHP, la mas básica. Si entras a nuestro curso gratuito conocerás otras estructuras que te serán útiles:
[…] Estructura if (si…) (AprenderPHP – Curso básico) […]