Ja w swoim systemie sklepu zapisuję koszyk w sesji jako tablicę:
Kod
array(
0 => array(
'id' => 10,
'amount' => 1,
'attributes' => array()
),
1 => array(
'id' => 3,
'amount' => 5,
'attributes' => array(
0 => 7,
1 => 12
)
)
)
Każdy element jest tablicą, która składa się z id produktu, jego ilości oraz tablicy atrybutów (np. kolor, rozmiar). Jeżeli w Twoim sklepie nie ma atrybutów możesz uprościć strukturę do:
Kod
array(
10 => 1,
3 => 5
)
czyli id => ilość. Na takich wyjściowych strukturach możesz spokojnie budować koszyk.