0

我想将以下转换if else conditionnested ternary运算符。

if ($projectURL) {
    echo $projectURL;
} elseif ($project['project_url']) {
    echo $project['project_url'];
} else {
    echo $project['project_id'];
}

我写了如下。

echo ($projectURL)?$projectURL:($project['project_url'])?$project['project_url']: $project['project_id'];

但是发现它不能正常工作。这不是正确的方法吗?

4

2 回答 2

2

三元运算符在 PHP 中很棘手,因为它们是左关联的(与所有其他语言不同,它是右关联的)。在这种情况下,您需要使用括号来告诉 PHP 您到底想要什么:

echo ($projectURL ? $projectURL : ($project['project_url'] ? $project['project_url'] : $project['project_id']));
于 2013-02-06T12:14:33.407 回答
-1

我们php 7可以使用Null 合并运算符

echo $projectURL ?? $project['project_url'] ?? $project['project_id'];
于 2016-04-05T07:36:01.890 回答