我写了下面的代码,即
foreach($mainStockDetailsRows as $mainStockDetailsRow)
{
$sumQuantity = '';
if(count($attrStocks["$mainStockDetailsRow->id_product"]) > 0)
{
$sumQuantity = array_sum($attrStocks["$mainStockDetailsRow->id_product"]);
}else{
$sumQuantity = 0;
}
//$sumQuantity = trim($sumQuantity);
if(($sumQuantity >= 0) && ($sumQuantity != ''))
{
$return .= 'somevalue';
$return .= ";\n";
}
}
此处条件if(($sumQuantity >= 0) && ($sumQuantity != ''))
在使用值的修剪之前根本不起作用。我在这段代码中没有弄错。代码中有错误吗?即使$ sumQuantity值为0,它也不会进入if条件。
---答案 -
我在http://in2.php.net/types.comparisons
中得到了答案获得的经验教训:小心比较。
答案 0 :(得分:3)
更改
if(count($attrStocks["$mainStockDetailsRow->id_product"]) > 0)
到
if(count($attrStocks[$mainStockDetailsRow->id_product]) > 0)
在这里:
$sumQuantity = array_sum($attrStocks[$mainStockDetailsRow->id_product]);
删除双引号 ...然后它会起作用。您不会转到第一个if condition
本身,因此您没有正确获得$sumQuantity
值。