检查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,最好围绕代码,而不是只有代码的答案,因为这会使答案更有用。