2

「cart_b_1_1」というショッピング カートのセッション変数があります。

文字列内の文字はカテゴリを示し、int はユーザー ID と製品 ID を表します。

すでに設定されている SESSION var のカテゴリをチェックして、新しい選択のカテゴリと一致するかどうかを確認するにはどうすればよいですか?

アイテムが SESSION 配列に追加され、同じカテゴリ文字で既に存在する var がある場合、それが設定解除され、新しい選択に効果的に置き換えられることを確認しようとしています。これは、カテゴリごとの選択を 1 つに制限するためです。

事前に助けてくれてありがとう。

4

3 に答える 3

2

連想配列でできることの素晴らしさを利用することを検討する必要があります。

$_SESSION['categories'][$mycat] = array($user_id, $product_id);

そうすれば、新しいカテゴリを設定するたびに、最後のカテゴリが上書きされます。user_idカート全体が1人のユーザーに属していると仮定すると、そのレベルでが必要な理由がわかりません。私のセッションは次のようになります。

array(
    'user' => $user_id,
    'cart' => array('catid' => 'prodid', 'catid2', 'prodid2'))
);
于 2012-06-13T20:39:51.813 に答える
2

1 つではなく 3 つの変数を使用する必要があります。

$_SESSION['category'] = 'cart_b';
$_SESSION['user_id'] = 1;
$_SESSION['product_id'] = 1;

ただし、一般的には、文字列を「_」セパレーターを使用して配列に変換できます。

$varArray = explode('_', $_SESSION['var']);
于 2012-06-13T20:40:31.753 に答える
0

_ を使用してセッション変数を分解し、最初の要素をチェックしてカテゴリを見つけます。

$myarray=explode("_",$_SESSION['変数名']);

次に、$myarray[1] がカテゴリであるため、他のことを比較して実行できます。

これはあなたが望んでいたものですか?

于 2012-06-13T20:41:35.497 に答える