当前位置: 首页 > 知识库问答 >
问题:

可变会话数组上的循环

岳俊晖
2023-03-14

构建一个购物车,该购物车将所选购物车项目存储在会话数组中,直到结帐。数组存储为:$\u会话['cart']['items']['item number']-

输出如下图所示,我试图弄清楚如何循环所有子数组QUANTITY字段,以获得购物车计数中的总项目数。但是,由于数组键的“item number”部分对于添加到购物车中的每个新产品/不同产品都会发生变化,因此我不知道如何在foreach循环中使用通配符来表示键名称的该部分。只是为了查看我尝试过的任何输出:

foreach($_SESSION['cart']['items']['*']['quantity'] AS $key => $value) {echo $value;}

数组的存储/输出方式如下:

[cart] => Array
        (
            [items] => Array
                (
                    [RIF12345] => Array
                        (
                            [SKU] => RIF12345
                            [Brand] => Freemal
                            [Model] => AR3456BA
                            [Price] => 1230.55
                            [SalePrice] => 0.00
                            [Stock] => 12
                            [quantity] => 2
                        )

                    [11111111] => Array
                        (
                            [SKU] => 11111111
                            [Brand] => Marks
                            [Model] => 546454
                            [Price] => 6000.00
                            [SalePrice] => 4500.50
                            [Stock] => 15
                            [quantity] => 1
                        )

                )

        )

我从错误的方法接近这个循环吗?我如何编写这个foreach循环来完成我要做的事情。任何帮助都将不胜感激。

共有1个答案

孔征
2023-03-14

那么这个呢:

foreach ($_SESSION['cart']['items'] as $ItemNumber => $Item)
 {$quantity+= $Item['quantity'];}
echo $quantity;
 类似资料:
  • 问题内容: 是否可以在PHP中使数组成为会话变量? 情况是,我有一个表(第1页),其中有些单元格具有指向特定页面的链接。下一页将列出名称(第2页,我想保留在会话数组中)及其相应的复选框。提交此表单后,它将进入一个交易页面(第3页,其中已发布复选框的值保存在数据库中以用于对应名称)。现在,如果我返回首页并单击另一个单元格,则会话数组将包含新名称列表还是旧名称列表? 问题答案: 是的,PHP支持将数组

  • 我读过关于命名空间属性的文章。我尝试使用此功能: 它工作得很好。 作为一项改进,我希望覆盖会话服务,因此它将在任何地方使用,并使用依赖注入,而不是将会话服务耦合到addProduct函数中。 为此,我编辑了我的services.yaml 然后我更新CartController: 现在我得到了以下错误消息: 检测到服务“会话”的循环引用,路径:“会话”- 这个错误应该在这个问题上得到解决:#3626

  • 问题内容: 我有用于向会话添加变量的PHP代码: 当用户选择“删除”时,我想从会话数组中删除显示的变量。 但是,当我取消设置时,将删除数组中的所有变量。 如何仅删除一个变量? 问题答案: 由于是数组,因此需要找到指向您感兴趣的名称值的数组键。最后一行重新排列数组的索引,以供下次使用。

  • 问题内容: 我在Sun的“ Core Servlets and JavaServer Pages vol 2”中看到了带有会话计数器的示例。 计数器仅仅是建立在和递增/递减会话数与/ : 侦听器在上下文中注册自身,因此可以访问它并获取计数器值。 没有同步块。 安全,不是吗? 可以缓存在CPU寄存器中,并且对于使用? 问题答案: Servlet 3.0的规范规定(第11.5节): 侦听器实例和线程

  • 问题内容: 我需要通过过滤器访问会话变量。我什至不知道是否可能。实际上,问题在于实现的方法类型是,而HttpServlet继承了类,而doPost方法的参数是HttpServletRequest。 我可以在ServletRequest的过滤器中访问会话吗? 我应该那样做吗? 你能推荐我什么? 谢谢! 问题答案: 只需将获得的内容转换为即可。

  • 问题内容: 有没有简单的方法来创建不可变的NumPy数组? 如果必须从中派生一个类来执行此操作,那么为实现不变性而必须重写的最少方法集是什么? 问题答案: 您可以使numpy数组不可写: 另请参见此线程中的讨论: http://mail.scipy.org/pipermail/numpy- discussion/2008-December/039274.html 和文档: http://docs.