PHP 5.3 中的 ?: 运算符是什么?

DDD
发布: 2024-10-19 12:52:02
原创
484 人浏览过

What's the ?: Operator in PHP 5.3?

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中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板