0

$ _SESSION ["cart_array"]に配列が設定されており、アイテムがカートに入っているときの出力はそのままです。

Array ( [0] => Array ( [item_id] => 1 [quantity] => 6 ) [1] => Array ( [item_id] => 2 [quantity] => 1 ) )

合計カートアイテム数を取得するために「数量」値をカウントアップするforeachループを作成しようとしています。これまでのところ、以下がありますが、文字列変数に取得する方法がわからないため、他のページに表示できます。

    $cartCount = array();
if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) {
    $cartCount = 0;
} else {
    foreach ($_SESSION["cart_array"] as $each_item) {
        //$cartCount += $each_item['quantity']; <-- commented out as not working.
        //$cartCount[$each_item['item_id']] += $each_item['quantity']; <-- commented out as not working.
    }
    //Print array for debugging purposes
    print_r($_SESSION["cart_array"]);
}  
4

1 に答える 1

1

これは機能する必要があります:

<?php

session_start();

$cartCount = 0;
if(isset($_SESSION['cart_array']) AND is_array(@$_SESSION['cart_array'])){
    foreach($_SESSION['cart_array'] AS $each_item){
        $cartCount = $cartCount + $each_item['quantity'];
    }
}

echo $cartCount;

?>
于 2012-09-18T05:38:57.053 に答える