gpt4 book ai didi

php - PHP 购物车中的多个项目

转载 作者:行者123 更新时间:2023-12-02 07:13:55 25 4
gpt4 key购买 nike

我正在用 PHP 制作购物车。为了检查用户是否选择了多个产品,我将所有内容都放在一个数组中($contents)。当我输出它时,我得到类似“14,14,14,11,10”的东西。我想要类似“3 x 14、1 x 11、1 x 10”的东西。最简单的方法是什么?我真的不知道该怎么做。

这是我代码中最重要的部分。

    $_SESSION["cart"] = $cart;

if ( $cart ) {
$items = explode(',', $cart);
$contents = array();
$i = 0;
foreach ( $items as $item ) {
$contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
$i++;
}

$smarty->assign("amount",$i);


echo '<pre>';
print_r($contents);
echo '</pre>';

提前致谢。

最佳答案

为什么不构建一个更强大的购物车实现?

考虑从这样的数据结构开始:

$cart = array(
'lines'=>array(
array('product_id'=>14,'qty'=>2),
array('product_id'=>25,'qty'=>1)
)
);

或类似的。

然后您可以创建一组对购物车结构进行操作的函数:

function addToCart($cart, $product_id, $qty){
foreach($cart['lines'] as $line){
if ($line['product_id'] === $product_id){
$line['qty'] += $qty;
return;
}
}
$cart['lines'][] = array('product_id'=>product_id, 'qty'=>$qty);
return;
}

当然,您可以(也许应该)更进一步,将此数据结构和函数组合到一组类中。购物车是开始以面向对象的方式思考的好地方。

关于php - PHP 购物车中的多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2889869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com