1

我写了下面的代码,即

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得到了答案

经验教训:小心比较。

4

1 回答 1

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正确获得价值。

于 2013-08-22T06:44:40.160 回答