我可以这样做:
if ($param3) {
$id = $param3;
} elseif ($param2) {
$id = $param2;
} else {
$id = $param1;
}
以简单的形式表示:
$id = $param3 || $param2 || $param1;
不使用?:
答案 0 :(得分:0)
$param3 = NULL;
$param2 = 1;
$param1 = NULL;
$id = $param3 || $param2 || $param1;
print($id);
似乎是一个糟糕的控件,因为如果测试任何$ paramN并且没有定义它将输出错误。尝试注释掉$ param3行。
答案 1 :(得分:0)
不确定'简单形式'是什么意思。在PHP中,基本上有3种方法可以执行If-else控制结构:
- 如果 - 其他,正常:但你不能使用那个
- 替代语法:http://php.net/manual/en/control-structures.alternative-syntax.php
- 三元像'?:',但你不能使用那个
因此,似乎您唯一的选择是替代语法。这在模板中特别有用。如果这对您不起作用,那么您的问题的答案是否定的,没有更多方法可以执行“if-else”。
答案 2 :(得分:0)
您可以通过以下方式避免?
:
($id=$param3)||($id=$param2)||($id=$param1)