PHP and/or 与应有的相反

PHP and/or is showing opposite of what it should be

我正在显示数据库结果,我想隐藏空行。我正在检查以确保两列在显示之前都不等于 0。我认为这将需要一个 && 运算符,但如果只有一列有 0,则不会显示该行。如果我将其更改为 ||,数据将正确显示。这是否与预期的方式相反?

这是当前正常工作的 php 循环(但不符合预期):

while($placement = mysqli_fetch_assoc($placeQuery)){
    echo '<tr>';
    if(($totals[$placeID][$totaldate]['impr'] != 0) || ($totals[$placeID][$totaldate]['amt'] != 0)){
        echo '<td>'.$placement['type_name'].'</td>';
    }
}

要回答问题的 "not working as expected" 部分,阅读逻辑函数可能会有所帮助。学习真值表,这种事情会变得更加清晰。 http://en.wikipedia.org/wiki/Truth_table

AND 将为 false: 0,0 1,0 0,1 并且对 1,1 给出 true,因此使用 AND 意味着仅当两列都不为零时才显示。

OR 仅在以下情况下为假: 0,0 对于其他组合也是如此,因此使用 OR 将显示 UNLESS 两者都是 0.