null coalesce operator into if语句

时间:2016-07-14 06:59:24

标签: php ternary-operator

在我的代码下面使用新的php null coalesce。

($i[$_SERVER['PATH_INFO'] ?? '/']  ?? $i[''])();

我想转换成if语句。有人可以帮我吗?谢谢

1 个答案:

答案 0 :(得分:3)

我们将采用您的代码并让它更好看。

// Your code
($i[$_SERVER['PATH_INFO'] ?? '/']  ?? $i[''])();

这里真正说的是if (is_null($_SERVER['PATH_INFO']))所以我们可以有效地做的只是改革你的代码。

if (is_null($_SERVER['PATH_INFO'])) {
    if (is_null($i['/'])) {
        $i['']();
    } else {
        $i['/']();
    }
} else {
    if (is_null($i[$_SERVER['PATH_INFO']])) {
        $i['']();
    } else {
        $i[$_SERVER['PATH_INFO']]();
    }
}