1

'你好

我正在尝试从客户填写的“订单”中获取项目,以仅列出客户指定数量值为 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

这可能是最简单的解决方法,但是任何人都可以对此有所了解吗?我将不胜感激!

4

1 回答 1

1

我最初的猜测是$itemqty字符串'0'。尝试使用不等于运算符,例如

if ($itemqty != 0)

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

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

$itemqty = (int) ${'qty'.$i};
于 2013-03-05T22:23:34.483 回答