EspañolDeutschFrançaisItalianoPortuguêsРусскийΕλληνικά日本語中文(简体)हिन्दी; हिंदीالعربية
PF Preguntas - Foro

Qué es y cómo usar el operador ternario en PHP

Programación PHP   Píldoras  
 
Qué es y cómo usar el operador ternario en PHP

El operador ternario es una forma simple de realizar un condicional sobre el flujo del programa, es decir, una manera rápida de plasmar un bloque if-else en una sola línea de código mediante el uso de tres operandos en una única operación, a diferencia de otras operaciones que suelen usar dos operandos, de ahí su nombre.

Para verlo con detalle vamos a suponer la siguiente línea de código donde se muestra el uso del operador ternario en PHP:

Podemos ver como estamos usando un operador con tres operandos, cuya sintaxis es la siguiente:

Así, el funcionamiento de este operador es el siguiente: se evalúa, en primer lugar, el operando1, si éste tiene un valor verdadero o TRUE, la operación tendrá un valor igual a operando2; en caso negativo o FALSE, el resultado de la operación será el del operando3.

En el ejemplo anterior, vemos que si la variable GET[‘id’] no está vacía, el valor de la variable $id obtendrá este valor. En caso contrario, la variable $id valdrá -1.

Podemos aclararlo aún más si convertimos este ejemplo en un bloque if-else de la siguiente forma:

Una vez aclarado, podemos ver como en una única línea de código podemos condensar el comportamiento de un bloque if-else básico mediante el uso del operador ternario en PHP.

Déjanos un comentario o entra al  Foro
Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page

Un pensamiento sobre “Qué es y cómo usar el operador ternario en PHP

ivan mrsnik

Porque los ternarios presentan resultados inexplicables, como este siguiente caso:

echo true ? ‘a1’: ‘a2′ ?’b’:3?’d’:’e’; //devuelve el echo d

echo true ? $a=’a1′: $a=’a2′ ?’b’:3?’d’:’e’; // devuelve el echo a1

La unica diferencia el primero no asigna valor, en la segunda asigna el valor

Comentarios cerrados.