我正在尝试使用下面的代码测试两个变量中的任何一个是否为真,但即使变量为空,代码也始终返回真实条件。我是否正确地完成了这项工作,或者变量是否总是正确的?
提前感谢您的帮助。
<?php
if (($gogo_team_member_twitter !== true) or ($gogo_team_member_facebook !== true)) {
echo('class="amb-with-socal"');
}
else echo('class="amb-without-socal"');
?>
答案 0 :(得分:4)
如果您需要“测试两种情况中的任何一种是否属实”,那么您的情况应如下所示:
if ($gogo_team_member_twitter === true || $gogo_team_member_facebook === true)
或只是
if ($gogo_team_member_twitter || $gogo_team_member_facebook)
如果您不需要严格比较
答案 1 :(得分:2)
你有正确的想法,但你正在检查变量不是否为真。当然你想检查是否属实?
此外,请尝试使用||
和&&
而不是or
和and
,因为它们具有更高的优先级。
答案 2 :(得分:1)
我会写
if ($gogo_team_member_twitter || $gogo_team_member_facebook)
答案 3 :(得分:0)
嗯,你正在检查2个变量中是否有任何一个不完全等于真。
如果变量为空,则不成立,因此满足条件。
答案 4 :(得分:0)
此外,在处理这样的否定时,您可以使用“和”
if ($gogo_team_member_twitter !== true && $gogo_team_member_facebook !== true)