0

codeigniter カート ライブラリを使用していますが、クライアントは、支払いゲートウェイに問題があるため、ユーザーが一度に 1 つのカテゴリのアイテムのみをチェックアウトできるようにしたいと考えています。現在、サイトにはすべてのカテゴリに対して単一のチェックアウト ロジックがあります。ユーザーがカートにアイテムを追加すると、このような配列があります

Array
(
    [d8df18561040f3d9bd9868f5c5aaa7c2] => Array
        (
            [rowid] => d8df18561040f3d9bd9868f5c5aaa7c2
            [id] => MYU_SC1
            [qty] => 1
            [price] => 500
            [name] => WAEC Scratch Card
            [service_image] => assets/img/waec.jpg
            [service_category] => scratch_cards
            [subtotal] => 500
        )

    [99483fe03da62c9e98ce71232998f447] => Array
        (
            [rowid] => 99483fe03da62c9e98ce71232998f447
            [options] => Array
                (
                    [size] => 36
                    [colour] => N/A
                )

            [id] => 80433426a546064bf5f8d09a6e7fdabc
            [qty] => 1
            [price] => 5000
            [name] => Green Vee Jeans
            [service_image] => http://localhost/myunivacity/uploads/apparels/IMG_0425.JPG
            [service_category] => apparels
            [subtotal] => 5000
        )

)

カート内のアイテムの「service_category」要素の値が同じかどうかを確認するにはどうすればよいですか? 助けてくれてありがとう

4

1 に答える 1

0

あなたはこのようなもので行くことができます:

<?php 

$categories = array();

foreach($this->cart->contents() as $cart_item) {
    if(!isSet($categories[$cart_item["service_category"]]) {
        $categories[$cart_item["service_category"]] = 1;        
    }
    else {
        $categories[$cart_item["service_category"]]++;
    }
}

print_r($categories);

?>

これにより、カテゴリごとのカウントが配列に入力されます

于 2012-11-15T10:45:44.507 に答える