$cart array() があります。これは、データベースに投稿する前のセッション変数です。
array (size=2)
1 =>
array (size=5)
'id' => string '1' (length=1)
'price' => string '10' (length=2)
'qty' => int 2
'item_desc' => string 'Fast Food 01' (length=12)
'special_desc' => string '' (length=0)
'1S' =>
array (size=5)
'id' => string '1' (length=2)
'price' => string '10' (length=2)
'qty' => string '1' (length=1)
'item_desc' => string 'Fast Food 01' (length=12)
'special_desc' => string 'Special Cook style 1' (length=3)
例としてitem idは「1」ですが、重複キーの競合を避けるため「S」を付けて特別な記述をした配列要素であることを示しています。
これは私の現在のコーディングです
...
if (array_key_exists($item_id, $cart)) {
$key_item_id = $item_id . 'S';
}
$cart[$key_item_id] = array('id' => $item_id, 'price' => $price, 'qty' => $qty, 'item_desc' => $item_desc, 'special_desc' => $special_desc);
...
ただし、特別な説明が複数ある可能性があるため、「S」の後にカウンター番号を付ける必要があると思います。たとえば、「1S1」はアイテムID「1」を特別な説明スタイル1、「1S2」で表します。特別な説明スタイル 2 など。
array (size=2)
1 =>
array (size=5)
'id' => string '1' (length=1)
'price' => string '10' (length=2)
'qty' => int 2
'item_desc' => string 'Fast Food 01' (length=12)
'special_desc' => string '' (length=0)
'1S1' =>
array (size=5)
'id' => string '1' (length=2)
'price' => string '10' (length=2)
'qty' => string '1' (length=1)
'item_desc' => string 'Fast Food 01' (length=12)
'special_desc' => string 'Special Cook style 1' (length=3)
'1S2' =>
array (size=5)
'id' => string '1' (length=2)
'price' => string '10' (length=2)
'qty' => string '1' (length=1)
'item_desc' => string 'Fast Food 01' (length=12)
'special_desc' => string 'Special Cook style 2' (length=3)
私の質問は、現在のカウンターを実現できるように、$cart のアイテム ID「1」の数を特別な説明で「カウント」する方法です。
ありがとう。