一尘不染

什么是?:在PHP 5.3中?

php

http://twitto.org/

<?PHP
    require __DIR__.'/c.php';
    if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; }))
        throw new Exception('Error');
    $c();
?>

Twitto使用PHP 5.3中提供的几个新功能:

  1. DIR 不变
  2. 运营商
  3. 匿名功能

  1. 2 在PHP 5.3中与 ?: 有什么关系?

  2. 另外,匿名功能是什么意思?那不是已经存在了一段时间了吗?


阅读 182

收藏
2020-05-26

共1个答案

一尘不染

?: 是条件运算符的一种形式,以前只能用于:

expr ? val_if_true : val_if_false

在5.3中,可以省略中间部分,例如expr ?: val_if_false,它等效于:

expr ? expr : val_if_false

手册

从PHP 5.3开始,可以省略条件运算符的中间部分。如果计算结果为,则表达式expr1 ?: expr3返回,否则返回。expr1``expr1``TRUE``expr3

2020-05-26