significa - php si no es igual
PHP Operador ternario de taquigrafía “?:” Error de análisis inesperado “:” (2)
Acabo de cargar algunos archivos PHP antiguos en un nuevo servidor y obtengo errores de análisis (inesperado '':'') en operaciones ternarias abreviadas p.ej:
$y = $x ?: "Some default";
La versión de php es 5.2.16 ¿El código está lleno de estas abreviaturas?:, así que antes de cambiarlas, pensé que vería si alguien sabe algo sobre esto, ya que no he usado PHP por un tiempo.
Dado que está utilizando php 5.2.16, su ternario requiere 2 opciones, por ejemplo,
$y = $x? "???" : "Some default";
Variable = condición? valor verdadero: valor falso;
Esto solo está disponible desde PHP 5.3
La expresión (expr1)? (expr2): (expr3) evalúa a expr2 si expr1 evalúa a VERDADERO , y expr3 si expr1 evalúa a FALSO .
Desde PHP 5.3, es posible omitir la parte media del operador ternario. Expression expr1?: Expr3 devuelve expr1 si expr1 se evalúa como VERDADERO , y expr3 de lo contrario. 1
Vea este ejemplo para más contexto.
o una nota más útil pero en los comentarios: http://www.php.net/manual/en/control-structures.if.php#102060
1 1