我在代码中使用它,但我认为它可以改进并且可以简单地完成?
if($phaseOne == true && $phaseTwo == true && $phaseThree == true) {
}
您可以这样做:
if($phaseOne && $phaseTwo && $phaseThree) { ... }
或使用ternary operator
,如果您试图根据这些条件来定义变量:
$var = ($phaseOne && $phaseTwo && $phaseThree) ? true : false;
希望这会有所帮助!
假设您的数组具有任意数量的逻辑变量:
$logical = array($phraseOne,$phraseTwo,....);
$allTrue = array_reduce($logical, function ($x,$y) {return $x && $y;},true);
if($allTrue) {
}
做:
if($phaseOne && $phaseTwo && $phaseThree)
您不需要将其与true进行比较。
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
。
除非您需要检查每个变量与布尔或变量明确相同(请参阅此堆栈溢出线程)
我会这样做
if ($phaseOne && $phaseTwo && $phaseThree) {}
否则,我会这样做
if ($phaseOne === true && $phaseTwo === true && $phaseThree === true) {}
尝试一下:
($phaseOne && $phaseTwo && $phaseThree) ? {//do something} : '';
,尽管我认为它是任意的,控制的,微不足道的,并且不会宣讲使用它,只是为了娱乐和学习 - 这是一些典型的PHP变量类型,它们也可以正常工作,而且占用最小空间...在源代码长度方面有效。
if($phaseOne*$phaseTwo*$phaseThree) { ... }