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 变量的默认值,它在尝试执行该函数之前检查该函数是否可调用。
以上是PHP 5.3 中的 ?: 运算符是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!