如果有多个elseif,我如何使用简写为php?
我知道如何用一个条件做到这一点,但什么时候有几个?
这是这样的:
if($a == 00){
echo 'Clear';
}elseif ($a == 01) {
echo 'Processing';
} elseif ($a == 10) {
echo 'Marked for delete';
}
Run Code Online (Sandbox Code Playgroud)
您当然可以"链接"三元运算符,但这会导致可怕的代码.不要这样做.
根据需要使用if/ else,a switch或可能的关联数组.例如,您可以这样做:
$messages = array(
00 => 'Clear',
01 => 'Processing',
10 => 'Marked for delete',
);
echo isset($messages[$a]) ? $messages[$a] : null;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,这将不会比ifor switch语句更好,但它是一个有用的工具,要记住.
该开关语句?
switch ($a) {
case 0:
echo "Clear";
break;
case 1:
echo "Processing";
break;
case 2:
echo "Marked for delete";
break;
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用三元运算符:
echo ($a == 0 ? "Clear" :
($a == 1 ? "Processing" :
($a == 2 ? "Marked for delete" : "")));
Run Code Online (Sandbox Code Playgroud)