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.
我正在显示数据库结果,我想隐藏空行。我正在检查以确保两列在显示之前都不等于 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.