"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Qué es el operador ?: en PHP 5.3?

¿Qué es el operador ?: en PHP 5.3?

Publicado el 2024-11-08
Navegar:359

What\'s the ?: Operator in PHP 5.3?

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.

Declaración de liberación Este artículo se reimprime en: 1729305795 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

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