El operador ?: en PHP 5.3
PHP 5.3 introdujo el operador ?:, una forma condensada del operador condicional que estaba disponible anteriormente . Originalmente, el operador condicional tomaba la forma:
expr ? val_if_true : val_if_false
En PHP 5.3, puedes omitir la parte central, lo que lleva a la sintaxis ?:. Esto es equivalente a:
expr ? expr : val_if_false
Por ejemplo, el siguiente código comprueba si la variable $c es invocable. Si no es así, genera una excepción:
require __DIR__.'/c.php'; if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; })) throw new Exception('Error'); $c();
Funciones anónimas en PHP 5.3
Junto con el operador ?:, PHP 5.3 también introdujo funciones anónimas. Al contrario de lo que se pregunta, las funciones anónimas ya no existen desde hace tiempo. Eran una característica nueva en PHP 5.3. Las funciones anónimas se crean sin nombre y normalmente se usan como devoluciones de llamada o como argumentos para otras funciones.
En el ejemplo anterior, la función anónima se asigna a la variable $c. No tiene parámetros e imprime "¡Guau!" cuando lo llaman. Esta función anónima se utiliza como valor predeterminado para la variable $c, que verifica si la función es invocable antes de intentar ejecutarla.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3