---
title: "Estructuras de control en PHP IV: el operador ternario"
description: "[Control de flujo o estructuras de control en PHP VI] Operador Ternario Valencia, 28/09/2012, G.B. Como os comenté en el anterior post, para finalizar con las instrucciones condicionales en PHP,..."
url: https://indaga.net/estructuras-de-control-en-php-iv-el-operador-ternario-2/
date: 2012-09-28
modified: 2022-03-19
author: "Directorio Indaga"
categories: ["PHP"]
type: post
lang: es
---

# Estructuras de control en PHP IV: el operador ternario

** Operador Ternario**

Valencia, 28/09/2012, G.B.
Como os comenté en el anterior post, para finalizar con las** instrucciones condicionales en PHP**, vamos a conocer ahora el denominado  **operador ternario**. En realidad, no es una nueva clase de instrucción condicinal, sino una **forma distinta de representar las instrucciones condicionales if/else**, pero utilizando menos  líneas de código, por decirlo de algún modo.

Toma el nombre de ternario porque utiliza 3 argumentos; tiene tres partes definidas: **(PARTE1) ? (PARTE2) : (PARTE3);**

-
  - La** primera parte es la condición o expresión** que incluye la variable

-
  - La** segunda el resultado de esa condición** o expresión **si el valor de la variable es verdadero** (*TRUE*), cuando la condición se cumple

-
  - La** tercera parte es el valor o expresión si el resultado es falso** (*FALSE*), cuando no se cumple la condición

**Sintaxis**** del operador ternario:**
**$NombreVariable = (condición) ? sentencia1-cuando-se-cumple : sentencia2-cuando-no-se-cumple;
**Si utilizamos alguna instrucción o expresión como por ejemplo *echo*, la sintaxis sería:**
echo ($NombreVariable = (condición)) ? sentencia1-cuando-se-cumple : sentencia2-cuando-no-se-cumple;**

Otra forma de representarlo sería como lo hace la Wikipedia (añadiendo el punto y coma final de la expresión):**
**
**expresión boleana ? valor si cierto : valor si falso;
**ó
**variable = condición ? valor si es cierto : valor si es falso;**

 Como podemos observar se constituye de** (PARTE1) ? (PARTE2) : (PARTE3); **que significa** (CONDICIÓN) ? (RESULTADO1) : (RESULTADO2); También podemos representarlo así:
INSTRUCCIÓN (CONDICIÓN) ? (RESULTADO-SI-SE-CUMPLE) : (RESULTADO-SI-NO-SE-CUMPLE);**
Vamos a verlo con un ejemplo. Primero escribiremos la instrucción condicional utilizando la **estructura if/else** que ya conocemos. En segundo lugar, la reescribiremos utilizando la **sintaxis del operador ternario**. El ejemplo, muy sencillo, nos mostrará el mensaje "*Son las 7 y cuarto de la mañana, hora de levantarse!!*", si son las 7:15 horas de la mañana (*TRUE*) y el mensaje "*Estoy aprendiendo PHP, poco a poco*." , si lo ejecutamos a cualquier otra hora del día, es decir, si la condición es falsa ya que el valor de la variable  es distinto (*FALSE*):

Primero, la instrucción if/else que ya conocemos:

```

```

****[Ejecutar ejemplo](https://indaga.net/ejemplos-php/operador-ternario.php)

Y ahora lo mismo utilizando el operador ternario:

```

```

** **[Ejecutar ejemplo](https://indaga.net/ejemplos-php/operador-ternario.php)
El resultado será exactamente el mismo. Tened en cuenta que *echo* no necesita paréntesis, ya que no es una función, sino una sentencia del lenguaje.

Con esto finalizamos las instrucciones condicionales o de control de flujo en PHP. Lo siguiente que veremos serán las instrucciones de iteracción o bucles. De todas formas, las seguiremos utilizando en los próximos ejemplos.

**Lecturas recomendadas:**
[El operador ternario en PHP](http://www.webtaller.com/maletin/articulos/operador-ternario-php.php) (webtaller.com)
[Operador terciario](http://es.wikipedia.org/wiki/Operador_ternario) (Wikipedia)
[Operadores de comparación en PHP](http://php.net/manual/es/language.operators.comparison.php)
