我正在显示数据库结果,我想隐藏空行。我正在检查以确保两个列在显示之前不等于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>';
}
}
答案 0 :(得分:1)
要回答问题的“不按预期工作”部分,阅读逻辑功能可能会有所帮助。学习真值表,这种事情变得更加清晰。 http://en.wikipedia.org/wiki/Truth_table
AND将为false: 0,0 1,0 0,1 并且对于1,1将给出true,因此使用AND表示仅当两列都不为零时才显示。
OR仅对以下内容为false: 0,0 对于其他组合也是如此,因此使用OR将显示UNLESS都为0。