0

のショップ バスケットに商品がいくつかありますSESSION

各アイテムはあるショップ向けで、別のアイテムは別のショップ向けかもしれません。

顧客がバスケット内の各ショップアイテムリストのファクター作成ボタンをクリックしたときに必要です。バスケット内の同じアイテムを削除または設定解除するにはどうすればよいですか。shopid顧客はこれでこのショップの要素を作成しますshopid

たとえば、私のセッション配列は次のとおりです。

Array('customer' => Array('basket' => Array(
                    '9_2' => Array
                        (
                            "row" => "0",
                            'item' => 'cd',
                            'count' => '1',
                            'sale_start_date' => '1391-12-25 19:27:56',
                            'sale_end_date' => '1392-04-20 19:27:49',
                            'sale_price' => '40500',
                            'price' => '54564',
                            'id' => '999035',
                            'shopid' => '4'
                        ),
                        '999_17' => Array
                        (
                            'row' => '1',
                            'item' => 'car',
                            'count' => '1',
                            'sale_start_date' => '0000-00-00 00:00:00',
                            'sale_end_date' => '0000-00-00 00:00:00',
                            'sale_price' => '0',
                            'price' => '520000',
                            'id' => '999039',
                            'code' => 'b125nh',
                            'shopid' => '6'
                        ),
                        '9_3' => Array
                        (
                            'row' => '2',
                            'item' => 'book',
                            'count' => '1',
                            'sale_start_date' => '0000-00-00 00:00:00',
                            'sale_end_date' => '0000-00-00 00:00:00',
                            'sale_price' => '0',
                            'price' => '520000',
                            'id' => '999039',
                            'code' => 'b125nh',
                            'shopid' => '4'
                        ),
                        '10_5' => Array
                        (
                            'row' => '2',
                            'item' => 'dvd',
                            'count' => '1',
                            'sale_start_date' => '0000-00-00 00:00:00',
                            'sale_end_date' => '0000-00-00 00:00:00',
                            'sale_price' => '0',
                            'price' => '520000',
                            'id' => '999039',
                            'code' => 'b125nh',
                            'shopid' => '5'
                        )
                    )
                )
            );

いくつかのアイテムが異なっshopidており、ソートされていないことがわかります。

たとえば、カートshopid=4から のアイテムを削除するにはどうすればよいですか?

4

4 に答える 4

0
$shop = 4;

$_SESSION['customer']['basket'] = array_filter(
    $_SESSION['customer']['basket'],
    function (array $item) use ($shop) { return $item['shopid'] != $shop; }
);
于 2013-05-17T12:14:24.050 に答える