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

  • 本文关键字:变量 布尔 PHP 检查 php
  • 更新时间 :
  • 英文 :


我在代码中使用它,但我认为它可以改进并且可以简单地完成?

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) { ... }

最新更新