我试图使用下面的代码测试两个变量中的任何一个是否为真,但是即使变量为空,代码也总是返回真条件。我做对了吗,还是变量总是为真?
提前感谢您的帮助。
<?php
if (($gogo_team_member_twitter !== true) or ($gogo_team_member_facebook !== true)) {
echo('class="amb-with-socal"');
}
else echo('class="amb-without-socal"');
?>
如果你需要"测试两个条件中的任何一个是否为真",那么你的条件应该是这样的:
if ($gogo_team_member_twitter === true || $gogo_team_member_facebook === true)
还是
if ($gogo_team_member_twitter || $gogo_team_member_facebook)
如果你不需要严格的比较
您的想法是正确的,但是您正在检查变量不是 true。你肯定想要检查这两种说法是否正确?
同样,尝试使用||
和&&
而不是or
和and
,因为它们具有更高的优先级。
我只写
if ($gogo_team_member_twitter || $gogo_team_member_facebook)
另外,在处理这样的否定时,你可以使用"and"
if ($gogo_team_member_twitter !== true && $gogo_team_member_facebook !== true)
嗯,你正在检查两个变量中是否有任何一个不完全等于true。
如果变量为空,则不为真,因此满足条件。