检查PHP中的多个变量(布尔值)

检查PHP中的多个变量(布尔值),php,Php,我在我的代码中使用了它,但我认为它可以改进,并且可以用一种更简单的方法来完成 if($phaseOne == true && $phaseTwo == true && $phaseThree == true) { } 您可以这样做: if($phaseOne && $phaseTwo && $phaseThree) { ... } $var = ($phaseOne && $phaseTwo &&

我在我的代码中使用了它,但我认为它可以改进,并且可以用一种更简单的方法来完成

if($phaseOne == true && $phaseTwo == true && $phaseThree == true) {

}

您可以这样做:

if($phaseOne && $phaseTwo && $phaseThree) { ... }
$var = ($phaseOne && $phaseTwo && $phaseThree) ? true : false;
或者,如果您试图根据以下条件定义变量,请使用:

if($phaseOne && $phaseTwo && $phaseThree) { ... }
$var = ($phaseOne && $phaseTwo && $phaseThree) ? true : false;
希望这有帮助

只需:

if($phaseOne && $phaseTwo && $phaseThree)

你不需要把它和真的比较

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
}

零将始终被视为假,任何其他正或负数字都将为真。

除非您需要检查每个变量是否与布尔值或变量完全相同

我会这样做的

如果$phaseOne&&$phaseTwo&&$phaseThree{}

否则,我会这样做


如果$phaseOne===true&&$phaseTwo===true&&$phaseThree===true{}

假设您有一个包含任意数量逻辑变量的数组:

$logical = array($phraseOne,$phraseTwo,....);
$allTrue = array_reduce($logical, function ($x,$y) {return $x && $y;},true);
if($allTrue) {
}
试试这个:

 ($phaseOne && $phaseTwo && $phaseThree) ? {//do something} : '';

虽然我认为它是任意的、控制版本的、琐碎的,并且不会鼓吹使用它,只是为了好玩和学习-这里有一些典型的php变量类型杂耍,它也会工作并且占用最少的空间。。。在源代码长度方面效率很高

if($phaseOne*$phaseTwo*$phaseThree) { ... }

去掉所有的==true,因为它们对于相同的比较是不必要的===嵌套if的某些时间更好,因为您可以更快地拒绝整个代码。说$phaseOne是假的。在一行代码中,它仍将尝试所有三行代码。如果将其嵌套在If$phaseOne{If$phasewo{}}中,代码将在第一次执行时失败,将它们放入数组中并对其进行迭代。旧的编程智慧说,2或更多,使用FOR,最好围绕代码,而不是只有代码的答案,因为这会使答案更有用。