对产品变体使用Php会话

对产品变体使用Php会话,php,session,e-commerce,Php,Session,E Commerce,我正在尝试使用会话创建一个PHP电子商务网站。每种产品可能有一种产品类型(蔬菜、牛肉、虾)和/或不同的尺寸选择。我将如何在会议中组织此活动?我查看了堆栈溢出问题,但是,客户如何可能将类型为b、大小为c的产品a添加到购物车,然后使用该答案将类型为b、大小为d的产品a添加到购物车?是否有其他方法将其组织到会话中?也许您可以制作一个包含产品和产品信息的(多维)数组,然后对其进行json编码,并将其保存为会话,然后在需要时在PHP中进行解码。 例如 然后 json_encode($products);

我正在尝试使用会话创建一个PHP电子商务网站。每种产品可能有一种产品类型(蔬菜、牛肉、虾)和/或不同的尺寸选择。我将如何在会议中组织此活动?我查看了堆栈溢出问题,但是,客户如何可能将类型为b、大小为c的产品a添加到购物车,然后使用该答案将类型为b、大小为d的产品a添加到购物车?是否有其他方法将其组织到会话中?

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

然后

json_encode($products);
看起来像这样
[[“牛肉”,22,18],“羊肉”,15,13],“鸡肉”,5,2]

并且可以保存为cookie或会话,然后在需要时可以按以下方式进行编码

$var = json_decode($_SESSION["basket"]);
您还可以向会话数组本身添加更多值

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

如果您希望购物车中有不同类型的产品,您可以使用与所链接的问题相同的方法,但将类型添加到产品ID中

我的意思是这样做:

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

这样,每种类型都是唯一的。

如果我这样做,那么我需要会话名称中的产品id、类型和大小。例如$\u SESSION['cart'][$id.$type.$size]您可以在内部设置大小,不同大小的产品不需要独特,对吗?(答案编辑)我知道。对不起,我会在问题中澄清这一点。
$_SESSION['cart'][$id.'-'.$type] = [
  'type' => $type,
  'quantity' => 1,
  'size' => 'M',
  // etc...
]