ternario simplificado signo operador interrogacion con php syntax ternary-operator

simplificado - Pregunta de sintaxis de PHP: ¿Qué significa el signo de interrogación y los dos puntos?



operador ternario php (2)

Posible duplicado:
pregunta rápida de sintaxis php

return $add_review ? FALSE : $arg;

¿Qué significan el signo de interrogación y el colon?

Gracias


Es la forma ternaria del operador if-else. La declaración anterior básicamente se lee así:

if ($add_review) then { return FALSE; //$add_review evaluated as True } else { return $arg //$add_review evaluated as False }

Consulte aquí para obtener más detalles sobre la operación ternaria en PHP: http://www.addedbytes.com/php/ternary-conditionals/


Este es el operador ternario de PHP (también conocido como operador condicional): si el primer operando evalúa verdadero, evalúe como segundo operando, o evalúe como tercer operando.

Piense en ello como una declaración "si" que puede usar en expresiones. Puede ser muy útil para hacer tareas concisas que dependen de alguna condición, por ejemplo,

$param = isset($_GET[''param'']) ? $_GET[''param''] : ''default'';

También hay una versión abreviada de esto (en PHP 5.3 en adelante). Puedes dejar de lado el operando del medio. El operador evaluará como el primer operando si es verdadero, y el tercer operando de lo contrario. Por ejemplo:

$result = $x ?: ''default'';

Vale la pena mencionar que el código anterior cuando se usa la variable ie $ _GET o $ _POST generará un aviso de índice indefinido y para evitar que tengamos que usar una versión más larga, con isset o un operador de isset nula que se introduce en PHP7:

$param = $_GET[''param''] ?? ''default'';