测试两个条件中的任何一个是否为真

时间:2011-12-02 01:40:31

标签: php

我正在尝试使用下面的代码测试两个变量中的任何一个是否为真,但即使变量为空,代码也始终返回真实条件。我是否正确地完成了这项工作,或者变量是否总是正确的?

提前感谢您的帮助。

<?php 
if (($gogo_team_member_twitter !== true) or ($gogo_team_member_facebook !== true)) {  
echo('class="amb-with-socal"');
}
else echo('class="amb-without-socal"');
?>

5 个答案:

答案 0 :(得分:4)

如果您需要“测试两种情况中的任何一种是否属实”,那么您的情况应如下所示:

if ($gogo_team_member_twitter === true || $gogo_team_member_facebook === true)

或只是

if ($gogo_team_member_twitter || $gogo_team_member_facebook)

如果您不需要严格比较

答案 1 :(得分:2)

你有正确的想法,但你正在检查变量是否为真。当然你想检查是否属实?

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

答案 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)