Pregunta

  

Duplicar posibles:    ¿Cuáles son los operadores de PHP y “?” “:” se llama y qué es lo que hacen

?

http://twitto.org/

<?PHP
    require __DIR__.'/c.php';
    if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; }))
        throw new Exception('Error');
    $c();
?>

Twitto utiliza varias características nuevas disponibles a partir de PHP 5.3:

  1. La DIR constante
  2. El operador?:
  3. Las funciones anónimas

  1. ¿Qué significa el número 2 ver con el ? en PHP 5.3

  2. Además, ¿qué quieren decir con funciones anónimas? No era que algo que ha existido por un tiempo?

¿Fue útil?

Solución

?: es una forma de que el operador condicional que estaba disponible anteriormente sólo como:

expr ? val_if_true : val_if_false

En 5.3 es posible dejar de lado la parte media, por ejemplo, expr ?: val_if_false que es equivalente a:

expr ? expr : val_if_false

Desde el manual de :

  

A partir de PHP 5.3, es posible dejar de lado la parte media del operador condicional. declaraciones de expresión expr1 ?: expr3 expr1 si evalúa expr1 a TRUE y expr3 lo contrario.

Otros consejos

El operador ?: es la condicional operador (a menudo referido como el operador ternario):

  

Las evalúa la expresión (expr1) ? (expr2) : (expr3) a expr2 si evalúa expr1 a true , y si expr3 evalúa expr1 a false .

En el caso de:

expr1 ?: expr2

la expresión se evalúa el valor de expr1 si expr1 es true y expr2 de otro modo:

  

A partir de PHP 5.3, es posible dejar de lado la parte media del operador ternario. declaraciones de expresión expr1 ?: expr3 expr1 if Evalúa expr1 a TRUE , y expr3 lo contrario.

Mira aquí:

  

A partir de PHP 5.3, es posible dejar de lado la parte media del operador ternario. expr1 expresión:? rendimientos expr3 EXPR1 si evalúa como TRUE, EXPR1 y expr3 lo contrario.

Las funciones anónimas: No, no existía antes 5.3.0 (ver la primera nota debajo de los ejemplos), al menos en esta forma:

function ($arg) { /* func body */ }

La única manera era create_function(), que es más lento, bastante engorroso y propenso a errores (debido al uso de cadenas para las definiciones de función).

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