使用 Php SESSIONS 进行产品变体

Using Php SESSIONS for product variations

我正在尝试使用 SESSIONS 创建一个 PHP e-commerce 网站。每种产品都可以有产品类型(蔬菜、牛肉、虾)和/或不同的尺寸选项。我将如何在 session 中组织它?我查看了 this 堆栈溢出问题,但是,客户如何将尺寸为 c 的类型 b 的产品 a 添加到购物车,然后使用该方法将尺寸为 d 的类型 b 的产品添加到购物车回答?有没有其他方法可以将其组织成 session?

也许你可以制作一个包含产品和产品信息的(多维)数组,然后 json 对其进行编码并将其保存为会话,然后可以对其进行解码在 PHP 需要时。 例如

$products = array
(
  array("Beef",22,18),
  array("Lamb",15,13),
  array("Chicken",5,2),
);

然后

json_encode($products);

Which will look like this [["Beef",22,18],["Lamb",15,13],["Chicken",5,2]]

并且可以保存为cookie或session,然后在需要的时候可以解码如下

$var = json_decode($_SESSION["basket"]);

您还可以将更多值添加到会话数组本身

array_push($_SESSION['cart'], $product); 

如果您想在购物车中添加不同类型的产品,您可以按照与您链接的问题相同的方式进行操作,但将类型添加到产品 ID。

我的意思是这样做:

$_SESSION['cart'][$id.'-'.$type] = [
  'type' => $type,
  'quantity' => 1,
  'size' => 'M',
  // etc...
]

这样每种类型都是独一无二的。