我想将if else condition
转换为nested 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'];
但发现它不能正常工作。这不是正确的方法吗?
答案 0 :(得分:2)
三元运算符在PHP中很棘手,因为它们是左关联的(与所有其他语言不同,它是右关联的)。在这种情况下,您需要使用括号来告诉PHP您想要什么:
echo ($projectURL ? $projectURL : ($project['project_url'] ? $project['project_url'] : $project['project_id']));
答案 1 :(得分:-1)
从 int a,n,j;
for (j=0,n=list[j].n;j<list.size;)
{
a=1; if (check(X,n,j,a)) return solution X=a^n;// check power `n`
while ((n==list[i].n)&&(j<list.size)) i++; // find next power
}
return no solution found;
开始,我们可以使用Null coalescing operator
php 7