无法显示三维 PHP 数组的内容


Unable to display content of 3 dimensional PHP array

我在$_SESSION数组中有一个PHP购物车,我正在尝试显示它的内容。
这是我的相关代码(我在页面开头有一个session_start):

if (isset($_GET['item']))
    {
        $item = $_GET['item'];
        if(!isset($_SESSION['cart'])) 
        {
            $_SESSION['cart'] = array();
        }
        if (isset($_SESSION['cart'][$item]))
        {
            $_SESSION['cart'][$item]['quantity']++; 
            echo "<h3 class=changement> Additional Item ".$item." has been added to cart.</h3>";
        }
        else
        {   
            $_SESSION ['cart'][$item]['quantity']= 1;
            echo "<h3 class=changement> Item ".$item." has been added to cart.</h3>";
        }
       foreach($_SESSION['cart'][$item] as $myItem => $myQuantity)
       {
           echo "<br> item: ".$myItem." quantity: ".$myQuantity."<br>";
       } 

用于显示购物车内容的 foreach 不显示项目的名称。
$myItem的内容始终是:数量。这样:

item: quantity quantity: 10

我想让福拉奇打印:

item: Banana quantity: 4
item: Apple  quantity: 6

显然,关于多维数组,我没有得到一些东西。
有人可以澄清这一点。

注意:我知道不是使用这一行:$_SESSION['cart'][$item]['quantity']++; 我可以只使用 $_SESSION['cart'][$item]++; 并将项目名称作为整数变量递增,但我试图理解 多维数组如何与 PHP 一起工作。

Array ( 
   [connectee] => rush, 
   [start] => 1419894221, 
   [expire] => 1419894281,
   [cart] => Array ( 
       [troutster] => Array ( 
           [quantity] => 2 
       ) 
       [funny_man] => Array ( 
           [quantity] => 1 
       ) 
       [Gareth] => Array ( 
           [quantity] => 1 
       ) 
   ) 
)
foreach($_SESSION['cart'] as $itemName => $item) {
    echo "<br> item: ".$myItem." quantity: ".$item["quantity"]."<br>";
}

因为$item是一个对象,而 $_SESSION['cart'] 是你想要显示的数组

这奏效了:

foreach($_SESSION['cart'] as $myItem => $myQuantity)
       {           
           foreach($myQuantity as $value)
           {
               echo "<br> item: ".$myItem." quantity: ".$value."<br>";
           }
       } 

$myQuantity是一个数组,所以我必须这样访问它。