PHP:计算SESSION中数组的数量

4
我将购物车数据存储在SESSION数组中,如下所示:

$_SESSION['cart'][$sessID] = array ('quantity' => 1, 'price' => $prodPrice, 'prodName' => $prodName, 'size' => $size, 'handle' => $handle)

每当用户将商品添加到购物车中时,都会创建一个新的sessID和新的Session Array。
在结账时,如何计算有多少个sessID?
我不想计算购物车中的商品数量 - 我想计算$_SESSION['cart']出现的次数。
谢谢。

如果这里的任何答案解决了您的问题,您应该通过点击答案下方的勾选标记来接受它。其他人将会知道这个问题已经被解决了。 - soulmerge
2个回答

7
如果我理解问题正确的话,您正在寻找count()函数。该函数用于计算数组中元素的数量。
count($_SESSION['cart'])

这个完美地运行了 - 谢谢!我之前尝试过,但由于某种原因我使用了类似以下的代码: count($_SESSION['cart']['sessID']) 所以我得到的是每个数组中项目的数量,而不是Session中数组的数量。再次感谢 - 我很感激。 - VCM

5

如果你确定 $_SESSION['cart'] 包含了一些内容,你可以使用以下代码:

$items_in_cart = count($_SESSION['cart'])

如果可以为空:

$items_in_cart = is_array($_SESSION['cart']) ? count($_SESSION['cart']) : 0

这是正确的,但你应该将变量名更改为除了$items_in_cart之外的其他名称,因为内容是购物车中$sessID的数量。对于物品的数量,您必须总结数量。 - rogeriopvl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接