测试两个条件中是否有一个为真


Testing if either of two condtions are true

我试图使用下面的代码测试两个变量中的任何一个是否为真,但是即使变量为空,代码也总是返回真条件。我做对了吗,还是变量总是为真?

提前感谢您的帮助。

<?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。你肯定想要检查这两种说法是否正确?

同样,尝试使用||&&而不是orand,因为它们具有更高的优先级。

我只写

if ($gogo_team_member_twitter || $gogo_team_member_facebook)

另外,在处理这样的否定时,你可以使用"and"

if ($gogo_team_member_twitter !== true && $gogo_team_member_facebook !== true)

嗯,你正在检查两个变量中是否有任何一个不完全等于true。

如果变量为空,则不为真,因此满足条件。