我在我的代码中使用它,但我认为它可以改进并且可以更简单的方式完成吗?
if($phaseOne == true && $phaseTwo == true && $phaseThree == true) {
}
答案 0 :(得分:6)
你可以这样做:
if($phaseOne && $phaseTwo && $phaseThree) { ... }
或者使用ternary operator
,如果您尝试根据以下条件定义变量:
$var = ($phaseOne && $phaseTwo && $phaseThree) ? true : false;
希望这有帮助!
答案 1 :(得分:2)
假设您有一个包含任意数量逻辑变量的数组:
$logical = array($phraseOne,$phraseTwo,....);
$allTrue = array_reduce($logical, function ($x,$y) {return $x && $y;},true);
if($allTrue) {
}
答案 2 :(得分:0)
只做:
if($phaseOne && $phaseTwo && $phaseThree)
答案 3 :(得分:0)
您不需要将其与真实比较。
if ($phaseOne && $phaseTwo && $phaseThree) {
}
这是因为任何比较的结果都是布尔值:
var_dump(1 == 1); // bool(true)
var_dump(1 == 2); // bool(false)
此外,如果变量包含数字,则可以直接使用:
if (1) {
// This will be executed
}
if (0) {
// This will not be executed
}
零将始终视为false
,任何其他数字(正数或负数)将为true
。
答案 4 :(得分:0)
除非你需要检查每个变量是否与布尔或变量明确相同,否则(see this stack overflow thread)
我会这样做
if ($phaseOne && $phaseTwo && $phaseThree) {}
否则,我会这样做
if ($phaseOne === true && $phaseTwo === true && $phaseThree === true) {}
答案 5 :(得分:0)
试试这个:
($phaseOne && $phaseTwo && $phaseThree) ? {//do something} : '';
答案 6 :(得分:0)
虽然我认为这是任意的,控制性的,微不足道的,并且不会鼓吹使用它,只是为了娱乐和学习 - 这里有一些典型的php变量类型杂耍,它们也可以工作并占用最少的空间......在源代码长度方面有效。
if($phaseOne*$phaseTwo*$phaseThree) { ... }