1

チェックアウト システムを構築しており、製品をセッション変数に追加しようとしています。しかし、私はそれらをどのように保存するべきかについて行き詰まっています。たとえば、5 つの製品を保存するにはどうすればよいですか?

私はこのようなものを使用しようとしますが、うまくいきません:

$_SESSION['cart']['productIds']['id'] .= $_POST['productid'];
$_SESSION['cart']['productPrices']['price'] .= $_POST['price']; 

出力は次のようになります (ID 2 と価格 20 の製品の 2 回):

Array ( [productIds] => Array ( [id] => 22 ) [productPrices] => Array( [price] => 2020 )

配列として保存したいのですが、これに最適な方法は何ですか?

4

1 に答える 1

3

セッション変数は、文字列ではなく配列として扱う必要があります。[]演算子を使用して追加します。

$_SESSION['cart']['products'][] = array(
    'id' => $_POST['productid'],
    'price' => $_POST['price'],
);

必要に応じて使用することもできarray_push()ます。後で、次のような製品を反復処理できます。

foreach ($_SESSION['cart']['products'] as $product) {
    echo $product['id'], ': ', $product['price'], "\n";
}
于 2012-10-03T07:56:06.643 に答える