如果有多个elseifs的简写,那就是php

Nor*_*man 0 php

如果有多个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)

Jon*_*Jon 5

您当然可以"链接"三元运算符,但这会导致可怕的代码.不要这样做.

根据需要使用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语句更好,但它是一个有用的工具,要记住.


sle*_*man 5

开关语句?

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)