$_GET 変数を取り、それを $_SESSION 変数に入れる単純なショッピング カートを作りたかったのです。私が試したコードは次のとおりです。
<?php
session_start();
if (is_numeric($_GET['add'])) $_SESSION[(string)$_GET['add']] = 1; ?>
私のアイテムIDは数値であるため、最初にチェックして、ランダムなものがセッション変数に追加されるのを止めます。次に、var_dump を実行して結果を確認します。?add=102 でコードを初めて実行すると、次のようになります。
array(1) { [102]=> int(1) }
次に、?add=108 を指定してスクリプトを再度実行すると、次のようになります。
array(1) { [108]=> int(1) }
私が欲しいのは:
array(2) { ["102"]=> int(1), ["108"]=> int(1) }
私は何を間違っていますか?私のコンセプトは、$_GET 変数を文字列に変換し、数量 1 と $_GET の文字列値を $_SESSION に関連付けて格納することです。これにより、IDが同じでない限り、アイテムをいくつでも追加できるはずです。これが私が望んでいることです。
私が試した代替手段は次のとおりです。
strval($_GET['add']),
(string)($_GET['add']),
$_GET['add']
何も機能していないようです。
どんな助けでも大歓迎です。