PHP IF语句-两个变量不工作


PHP IF Statement - Two Variables Not Working

我有一个IF语句,我需要检查两个变量,如果其中一个变量为假,则执行操作。

我知道我可以使用OR(||)语句,但由于某种原因它不工作。我正在学习PHP,所以这可能是我的语法错误。

如果我创建的If语句只有一个(任意一个)变量,它工作得很好:

<?php if ($var1 == false) { do whatever...} ?>

然而,当我尝试检查两个变量时,两个变量似乎都没有被检查。我已经尝试了不同的语法变化,但没有工作:

<?php if (($var1 == false) || ($var2 == false)) { do whatever...} ?>
<?php if (($var1 == false) OR ($var2 == false)) { do whatever...} ?>
<?php if ($var1 == false || $var2 == false) { do whatever...} ?>
<?php if ($var1 == false OR $var2 == false) { do whatever...} ?>
谁能指出我的错误是什么?

谢谢!

编辑:包括实际代码。

<?php $member = $members_template->member; $bpmember = bp_get_member_user_id(); ?>
                <?php $membersearchinclude = xprofile_get_field_data( 'Exclude yourself from website search results?', $bpmember ); ?>
                <?php $adminsearchinclude = xprofile_get_field_data( 'Exclude From Search Results', $bpmember ); ?>
                <?php if (($adminsearchinclude == false) || ($membersearchinclude == false)) { ?>

这是从BuddyPress中的两个不同的复选框中提取xprofile字段状态。我正在检查其中一个复选框是否为假,然后执行代码。

我已经设法解决了这个问题。似乎我的逻辑运算符需要更改:

if ((!$adminsearchexclude) && (!$membersearchexclude))

我敢肯定,如果我把整个代码贴出来,你们中的一个会得到它。这是一个敏感的项目,不幸的是,目前不能发布整个代码。

非常感谢每个人,特别是@ChrisO'Kelly的var转储片段。你让我想到了正确的方向,我现在有了一个新的工具在我的武器库:)

谢谢大家!!

我不确定是什么原因导致它不像预期的那样运行,因为从我的观点来看,它都是有效的。试着发布你的代码,让我们知道整个逻辑。

尽量使用严格比较。

$var1 = 0;
$var2 = 1;
// The echo will not be executed
if ($var1 === false || $var2 === false) {
    echo "Strict comparison'n";
}
// The echo will be executed
if ($var1 == false || $var2 == false) {
    echo "No strict comparison'n";
}

引用:

http://php.net/manual/en/language.operators.logical.phphttp://php.net/manual/en/language.operators.comparison.php