**(isset($a) && (($b && $c) || $d || $e))** i want to refactor above conditional statement.
但我不知道如何继续。
我做了一些工作,首先我将所有条件语句最小化为变量格式
我在if条款中加入了整个陈述,并且我从该陈述中得到了证明。
我已经尝试分解成像
function check($a) {
if (!isset($a)) {
return false;
}
if ($e == false) {
return true;
}
if ($b && $c) {
return true;
}
if ($d) {
return true;
}
}
但我相信他们可能会有更好的方法来做到这一点。 任何人都可以帮助我。
答案 0 :(得分:1)
如果你的意思是你想要一个紧凑的条件语句,如下面的代码(使用$ e == false),只需添加"而不是"运算符是"!"。
<?php
function foo(mix $a, bool $b, bool $c, bool $d, bool $e){
return isset($a) && ($b && $c) || $d || !$e);
}
?>
或者反过来..
<?php
function foo(mix $a, bool $b, bool $c, bool $d, bool $e){
if(isset($a)){
if($b && $c){
return true;
} elseif($d){
return true;
} elseif(!$e){
return true;
}
}
return false;
}
?>
还有一个 else 语句,如果 if 和 elseif 都没有评估为 true