PHP 5.3 中的 ?: 运算符
PHP 5.3 引入了 ?: 运算符,这是以前可用的条件运算符的压缩形式。最初,条件运算符采用以下形式:
expr ? val_if_true : val_if_false
在 PHP 5.3 中,您可以省略中间部分,从而得到 ?: 语法。这相当于:
expr ? expr : val_if_false
例如,以下代码检查变量 $c 是否可调用。如果不是,则会抛出异常:
require __DIR__.'/c.php'; if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; })) throw new Exception('Error'); $c();
PHP 5.3 中的匿名函数
除了 ?: 运算符之外,PHP 5.3 还引入了匿名函数。与问题相反,匿名函数已经不存在一段时间了。它们是 PHP 5.3 中的新功能。匿名函数创建时没有名称,通常用作回调或其他函数的参数。
在上面的示例中,匿名函数被分配给变量 $c。它没有参数并打印“Woah!”当被叫时。此匿名函数用作 $c 变量的默认值,该变量在尝试执行该函数之前检查该函数是否可调用。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3