PHP:仅在If语句中列出数量值大于0的项目

时间:2013-03-05 22:19:53

标签: php

“ELLO

我正在尝试从客户填充的“订单”中获取项目,仅列出客户指定数量值为1或更多的项目作为生成并通过其发送的采购订单收据发送他们点击提交后发送电子邮件。

以下是我到目前为止所做的事情:

$i = 1;
$imax = 4;

echo "Products<br />";
echo "-------------------------------------------------------------<br />";

while ($i <= $imax) {

$itemqty = ${'qty'.$i};
$itempn = ${'pn'.$i};
$itemdesc = ${'desc'.$i};
$itemprice = ${'value'.$i};
$itemtotalprice = ${'elinetotal'.$i};

    if ($itemqty !== 0) {
            echo $itemqty . " x " . $itemdesc . " (" . $itempn . ") @ $" . $itemprice . " ea. = $" . $itemtotalprice . "<br />";
    }
$i++;
}

它会正确列出所有内容,但它不会忽略值为0的项目。它会列出如下:

Products
-------------------------------------------------------------
0 x Item #1 Description (HOSE-12) @ $155.00 ea. = $0.00
5 x Item #2 Description (GAUGE-2) @ $51.00 ea. = $255.00
0 x Item #3 Description (PTC) @ $0.70 ea. = $0.00
10 x Item #4 Description (PT-234R) @ $15.94 ea. = $159.40

这可能是最容易解决的问题,但任何人都可以对此有所了解吗?我非常感谢!

1 个答案:

答案 0 :(得分:1)

我的初步猜测是$itemqty是字符串'0'。尝试使用 not equal 运算符,例如

if ($itemqty != 0)

而不是不相同的运算符,即!==

否则,您可以尝试将$itemqty赋值转换为整数,例如

$itemqty = (int) ${'qty'.$i};