if ($subtotal1 != 0 or $subtotal2 != 0 or $subtotal3 != 0 or $subtotal4 != 0 )
{
echo $compno.' '.$subtotal1.' '.$subtotal2.' '.$subtotal3.' '.$subtotal4;
echo "<br>";
$info4 =array($compno, $total);
}
即使$ subtotal(n)的值之一为0,if块也会执行。
知道为什么吗?
答案 0 :(得分:2)
您需要将“或”更改为“和”。
if ($subtotal1 != 0 and $subtotal2 != 0 and $subtotal3 != 0 and $subtotal4 != 0 )
答案 1 :(得分:0)
使用&amp;&amp;代替or,导致你的if条件将被执行,即使你的一个值为非零。
在if语句中使用或仅表示如果任何条件为真,则执行代码。
使用&amp;&amp;表示如果所有条件都为真,则执行if语句。谢谢它让它更清晰
if ($subtotal1 != 0 && $subtotal2 != 0 && $subtotal3 != 0 && $subtotal4 != 0 )
{
echo $compno.' '.$subtotal1.' '.$subtotal2.' '.$subtotal3.' '.$subtotal4;
echo "<br>";
$info4 =array($compno, $total);
}
试试这个
if($subtotal1 != 0){
}
elseif($subtotal2 != 0){
}elseif($subtotal3 != 0)
{
}
elseif($subtotal3 != 0)
{
}
else
{
echo $compno.' '.$subtotal1.' '.$subtotal2.' '.$subtotal3.' '.$subtotal4;
echo "<br>";
$info4 =array($compno, $total);
}