多个或 php 变为真?
multiple or php becomes true?
我有问题。这成为事实。
$mountain_pump = "n";
if ($mountain_pump != "n" || $mountain != "n" || $mountain_pump != "" || $mountain != "") {
if ($rot == "Ja"){
$vibration = 12000;
$vibration_string = number_format($vibration , 0, ',', '.') . " kr (med ROT-avdrag)";
} else {
$vibration = 15000;
$vibration_string = number_format($vibration , 0, ',', '.') . " kr (utan ROT-avdrag)";
};
$summary = $summary + $vibration;
$printstring = $printstring . "<tr><td>Vibrationsbesiktning:</td><td>" . $vibration_string . "</td></tr>";
}
如果我删除这个...
|| $mountain_pump != "" || $mountain != ""
...脚本按预期工作。我需要上面的 "or's" 因为值有时可以是 ""。
有人知道为什么即使值是 $mountain_pump 的 "n" 脚本也会运行,如本例所示?
当然,上述条件的计算结果为真:
$mountain_pump = 'n';
if ($mountain_pump != 'n' || $mountain_pump != '')
如果 $mountain_pump
是 既不是 n
也不是 ''
,则条件只能为假。如果变量是空字符串或 n,则条件为真。不过,我真的不明白问题是什么,只需将 ||
替换为 &&
就可以了(该条件应排除 $mountain_pump
为 [=12= 的所有情况] 或 ''
,所以要排除条件 1 和 条件 2).
我有问题。这成为事实。
$mountain_pump = "n";
if ($mountain_pump != "n" || $mountain != "n" || $mountain_pump != "" || $mountain != "") {
if ($rot == "Ja"){
$vibration = 12000;
$vibration_string = number_format($vibration , 0, ',', '.') . " kr (med ROT-avdrag)";
} else {
$vibration = 15000;
$vibration_string = number_format($vibration , 0, ',', '.') . " kr (utan ROT-avdrag)";
};
$summary = $summary + $vibration;
$printstring = $printstring . "<tr><td>Vibrationsbesiktning:</td><td>" . $vibration_string . "</td></tr>";
}
如果我删除这个...
|| $mountain_pump != "" || $mountain != ""
...脚本按预期工作。我需要上面的 "or's" 因为值有时可以是 ""。
有人知道为什么即使值是 $mountain_pump 的 "n" 脚本也会运行,如本例所示?
当然,上述条件的计算结果为真:
$mountain_pump = 'n';
if ($mountain_pump != 'n' || $mountain_pump != '')
如果 $mountain_pump
是 既不是 n
也不是 ''
,则条件只能为假。如果变量是空字符串或 n,则条件为真。不过,我真的不明白问题是什么,只需将 ||
替换为 &&
就可以了(该条件应排除 $mountain_pump
为 [=12= 的所有情况] 或 ''
,所以要排除条件 1 和 条件 2).