Php 如果与你在一起
我可以做:Php 如果与你在一起,php,if-statement,Php,If Statement,我可以做: if ($param3) { $id = $param3; } elseif ($param2) { $id = $param2; } else { $id = $param1; } 以简单的形式,如: $id = $param3 || $param2 || $param1; 不使用?: $param3 = NULL; $param2 = 1; $param1 = NULL; $id = $param3 || $param2 || $param1; p
if ($param3) {
$id = $param3;
} elseif ($param2) {
$id = $param2;
} else {
$id = $param1;
}
以简单的形式,如:
$id = $param3 || $param2 || $param1;
不使用?:
$param3 = NULL;
$param2 = 1;
$param1 = NULL;
$id = $param3 || $param2 || $param1;
print($id);
似乎是一个错误的控件,tho,因为如果任何$paramN被测试且未定义,它将输出错误。请尝试注释$param3行。不确定“简单表单”是什么意思。在PHP中,基本上有3种执行If-else控制结构的方法:
-否则,正常:但您不能使用它
-备选语法:
-三元组类似于“?:”,但不能使用它
所以,似乎您唯一的选择是替代语法。这在模板制作中特别有用。如果这对你不起作用,那么你的问题的答案是否定的,没有更多的方法来做“如果其他”了。你可以通过以下方式来避免
?
:
($id=$param3)||($id=$param2)||($id=$param1)
为什么你会有这样一个奇怪的要求?为了避免长长的if/else列表。这样一个简单的任务应该是内联的。避免
?
不会避免长列表。这是if/else的常用快捷方式。尝试一些替代常用快捷方式的方法会使代码变得模糊,并使其更难维护。短代码永远不应该比可维护代码优先级更高。($id=$param3)| |($id=$param2)| |($id=$param1)仍然很容易理解,而且比if/else短得多。人们用SO来回答测验问题,不是吗?这不会把$id
转换成布尔值吗?$id将变成布尔值。