PHP pregunta sintaxis: ¿Qué significa el signo de interrogación y de colon? [duplicar]

StackOverflow https://stackoverflow.com/questions/1276909

  •  16-09-2019
  •  | 
  •  

Pregunta

  

Duplicar posible:
   pregunta sintaxis php rápida

return $add_review ? FALSE : $arg;

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

Gracias

¿Fue útil?

Solución

Este es el PHP operador ternario (también conocido como un operador condicional) -. Si primer operando evalúa verdadero, evaluar como segundo operando, de lo evalúe como tercer operando

Piense en ello como un "if" se puede utilizar en las expresiones. Puede ser muy útil al hacer asignaciones concisas que dependen de alguna condición, por ejemplo.

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

Hay también una versión abreviada de esto (en PHP 5.3 en adelante). Usted puede dejar de lado el operando medio. El operador se evaluará como el primer operando si es cierto, y el tercer operando de otra manera. Por ejemplo:

$result = $x ?: 'default';

Es importante mencionar que el código anterior cuando se utiliza es decir, $ _GET o $ _POST variables lanzará aviso índice indefinido y para evitar que tenemos que utilizar una versión más larga, con isset o una operador coalescente nula que se introduce en PHP7:

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

Otros consejos

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

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

Vea aquí para más detalles sobre op ternaria en PHP: http: //www.addedbytes. com / php / ternarias-condicionales /

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top