PHP if子句不起作用任何想法为什么?

时间:2014-10-11 05:03:32

标签: php

 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块也会执行。

知道为什么吗?

2 个答案:

答案 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); 
}