我有一个 $cart 数组(),它是发布到数据库之前的会话变量。
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”来表示具有特殊描述样式1的项目id“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”,以便我可以实现它的当前计数器?
谢谢。