rea*_*amy 1 php conditional-statements
我什至不知道如何问我的问题!
我有一个这样的变量:
$value['state 1'] = true;
$value['state 2'] = false;
$value['state 3'] = false;
$value['state 4'] = true;
Run Code Online (Sandbox Code Playgroud)
我想保留一些关于每个状态的字符串,这些字符串false通过条件或其他方式具有true价值,如果所有状态都有价值,则有另一个字符串,例如:
$message = "";
if ($value['state 1'] !== true){
$message .= "State one isn't working!\n";
} elseif ($value['state 2'] !== true){
$message .= "State two isn't working!\n";
} elseif ($value['state 3'] !== true){
$message .= "State three isn't working!\n";
} elseif ($value['state 4'] !== true){
$message .= "State four isn't working!\n";
} else {
$message = "All states works!";
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中,在第一个 true 条件之后,不会检查其他条件,所以我switch case以这种方式使用:
switch (false){
case $value['state 1']:
$message .= "State one isn't working!\n";
case $value['state 2']:
$message .= "State two isn't working!\n";
case $value['state 3']:
$message .= "State three isn't working!\n";
case $value['state 4']:
$message .= "State four isn't working!\n";
break;
default:
$message = "All states works!";
break;
}
Run Code Online (Sandbox Code Playgroud)
在匹配第一个 case 之后的这段代码中,那个 case 之后的所有字符串都将被添加到 $message 变量中!
好吧,我想现在你知道我想做什么了!你能帮我吗?
将它们分开,最后检查您的$message变量:
$message = "";
if ($value['state 1'] !== true){
$message .= "State one isn't working!\n";
}
if ($value['state 2'] !== true){
$message .= "State two isn't working!\n";
}
if ($value['state 3'] !== true){
$message .= "State three isn't working!\n";
}
if ($value['state 4'] !== true){
$message .= "State four isn't working!\n";
}
if (!$message) {
$message = "All states works!";
}
Run Code Online (Sandbox Code Playgroud)