Operador ternario: ¿cómo?

El otro día en el curso PHP guay programamos esta clase traductora sencilla con arrays. Dimos un paso importante en dificultad y dijimos que comentaríamos los aspectos PHP involucrados en ese código.

Si hace poco que programas seguro que esta sentencia de código te parece un poco extraña:

Pero no tiene ningún secreto, es fácil de entender: ¡es el operador ternario! Está disponible en muchos lenguajes de programación. En lenguaje natural podemos traducirlo así: “Si $a es cierto se evalúa $b; si no, entonces se evalúa $c”.

Este operador condicional es un atajo (shortcut, en inglés) que equivale a:

Para que el operador condicional ternario funcione tienen que darse estas condiciones:

  1. $a es una expresión booleana
  2. $b es una expresión
  3. $c es una expresión

Recuerda que una expresión es cualquier combinación válida de constantes, variables, funciones (funciones que devuelven valores) y operadores. Y que, por lo tanto, una expresión booleana es una expresión que devuelve un valor booleano (cierto o falso).

Ternario significa “Compuesto de tres elementos”, de modo que cuando vayamos a utilizar este operador debemos escribir las tres expresiones que lo componen. A partir de PHP 5.3 hay una variante del operador ternario que permite escribir solo dos expresiones, pero en este post no vamos a ver ese uso.

Este script PHP CLI contiene algunos ejemplos de uso del operador ternario:

El ejemplo de arriba está disponible en el repositorio GitHub del curso PHP guay.