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 に答える