Lección 5: Condicionales
Los condicionales son una herramienta esencial en cualquier lenguaje de programación. Sirve para ejecutar instrucciones dependiendo de unos condicionales.
if (condición) {
...
}
En el ejemplo puedes ver dentro del if
que estoy realizando una pregunta: ¿Es 2 mayor que 0? Es cierto, por lo tanto se imprimirá el segundo echo
.
echo "Inicio \n";
if (2 > 0) {
echo "Entro en el condicional \n";
}
echo 'Fin';
// Inicio
// Entro en el condicional
// Fin
En el caso de no cumplirse nunca entrará: ¿2 es mayor que 1000? Es falso, por lo tanto nunca se ejecutará.
echo "Inicio \n";
if (2 > 1000) {
echo "Entro en el condicional \n";
}
echo 'Fin';
// Inicio
// Fin
Tipos de condicionales
Las condicionales son símbolos aritméticos. Si la lógica es cierta, entrará. En caso contrario no se cumplirá y nunca llegará a ejecutarse el interior del if
o while
(ambos usan condicionales). Además podremos concadenar todas las condicionales que necesitemos. El uso de paréntesis está permitido.
Símbolo | Explicación | Ejemplo |
---|---|---|
> | es mayor que | if (1 > 0) |
< | es menor que | if (1 < 0) |
&& | y | if (1 > 0 && 67 > 0) |
|| | o | if (1 > 10 || 67 > 0) |
! | no | if (!(1 > 0)) |
== | es igual en valor | if ('3' == 3) |
=== | es igual en valor y tipo | if ('3' === '3') |
!= | no es igual | if ('Doctor' != 'Who') |
!== | no es igual en valor o tipo | if ('Doctor' !== 'Who') |
>= | es mayor o igual que | if (10 >= 10) |
<= | es menor o igual que | if (10 <= 20) |
<=> | -1, 0 y 1 dependiendo de los valores si son superados | (10 <=> 20) // 1 |
True | Verdad | if (True) |
False | Falso | if (False) |
if (10 > 2 && True && 'HBO' != 'Netflix') {
echo 'Entro seguro';
}
// Entro seguro
else
Existe una herramienta que nos ayudará a que solo una serie de instrucciones se ejecuten.
if (condición) {
...
} else {
...
}
En caso de cumplirse la condición entrará en las primeras llaves ({}
), en caso contrario entrará en las segundas llaves. Pero nunca en ambas.
if ('Ghibli' == 'Ghibli') {
echo 'Bienvenido';
} else {
echo 'No eres bien recibido'
}
// Bienvenido
if ('Estudio' == 'Ghibli') {
echo 'Bienvenido';
} else {
echo 'No eres bien recibido'
}
// No eres bien recibido
elseif
Es posible tener varios condicionales.
if (condición) {
...
} elseif (condición) {
...
}
if ('Michael Jackson' == 'Moonwalker') {
echo 'Gran baile';
} elseif ('Moonwalker' == 'Moonwalker') {
echo 'Legendario';
}
// Legendario
Si se cumple la primera, entrará e ignorará al segunda. Si no se cumple la primera pero la segunda sí, entrará en la segunda. Si no se cumple ninguna, no entrará en ninguna.
Al añadir un else
al final le daremos un caso “por defecto”. Si no se cumpliera ninguna condicional iría automáticamente.
if (condición) {
...
} elseif (condición) {
...
} else {
...
}
if ('Michael Jackson' == 'Moonwalker') {
echo 'Gran baile';
} elseif ('Michael Jackson' == 'Billie Jean') {
echo 'Gran canción';
} else {
echo 'Rey del Pop';
}
// Rey del Pop
Se admite tanto elseif
como else if
. Salvo como sintaxis alternativa, que debe estar junto: elseif:
.
Sintaxis alternativa
Para facilitar la integración con HTML dispones de una sintaxis alternativa y un poco más agradable al ojo.
<html>
<body>
<?php if (condición): ?>
// Código que sea cierto
<?php else: ?>
// Código que se ejecutará si no es cierto.
<?php endif; ?>
</body>
</html>
o con un elseif
.
<html>
<body>
<?php if (condición): ?>
// Código que sea cierto
<?php elseif (condición): ?>
// Código que se ejecutará si no es cierto.
<?php else: ?>
// Código que se ejecutará si no es cierto.
<?php endif; ?>
</body>
</html>
Forma abreviada (Operador ternario)
Es posible ejecutar en una sola instrucción con if
con un else
. Si estas empezando no te recomiendo usarla, pero no la olvides.
<?php (condicional) ? 'Valor si se cumple' : 'Valor si no se cumple'; ?>
<?php echo (5 > 10) ? 'Es verdad' : 'Es mentira'; ?>
Switch
La funcionalidad de switch es prácticamente igual a if salvo que es más limitada, solo admite la condicional de igualación.
switch ($variable) {
case 0:
...
break;
case 1:
...
break;
case 2:
...
break;
default:
...
break;
}
Una equivalencia entre ambos.
$num = 1;
if ($num == 0) {
echo "num es igual a 0";
} elseif ($num == 1) {
echo "num es igual a 1";
} elseif ($num == 2) {
echo "num es igual a 2";
} else {
echo "No se a que es igual";
}
// num es igual a 1
switch ($num) {
case 0:
echo "num es igual a 0";
break;
case 1:
echo "num es igual a 1";
break;
case 2:
echo "num es igual a 2";
break;
default:
echo "No se a que es igual";
break;
}
// num es igual a 1
Strings
Antes de cerrar la lección quiero dejarte algunas funciones que te pueden ser de ayuda cuando trabajas con String
. Profundizaremos en las siguientes lecciones.
str_contains (¿Contiene este texto este otro texto?)
if (str_contains('La duda es uno de los nombres de la inteligencia', 'duda')) {
// Entra
}
str_starts_with (¿Empieza este texto con este otro texto?)
if (str_starts_with('La duda es uno de los nombres de la inteligencia', 'La duda es')) {
// Entra
}
str_end_with (¿Termina este texto con este otro texto?)
if (str_end_with('La duda es uno de los nombres de la inteligencia', 'inteligencia')) {
// Entra
}
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.
¿Me invitas a un café? ☕
Puedes hacerlo usando el terminal.
ssh customer@andros.dev -p 5555
Comentarios
Nuevo comentario
Nueva replica {{ formatEllipsisAuthor(replyComment.author) }}
Escribe el primer comentario
{{ comments.length }} comentarios