首页 > 解决方案 > 无法理解以下代码中的 PHP 关联数组代码差异

问题描述

我的购物车中有此代码。我从一个网站得到这个。我正在使用它并且代码工作正常,但我无法理解 和 之间的first code区别second code。对我来说似乎两者都是一样的。但是,如果我只使用第一个代码代替第二个代码,那么我的cart工作不正常。那么谁能告诉我它们之间有什么区别??

First code:

$cart = [
          $id => [
                'name' => $product->name,
                'quantity' => 1,
                'price' => $product->price,
                'photo' => $product->image
               ]
       ];

Second code:

$cart[$id] = [
            'name' => $product->name,
            'quantity' => 1,
            'price' => $product->price,
            'photo' => $product->image
        ];

标签: phparraysmultidimensional-arrayassociative-arrayshopping-cart

解决方案


第一个代码$cart用一个新数组替换之前的任何内容。这意味着$cart忘记了之前的任何值。

第二个代码将一个新的键值对添加到数组中,或者如果该键值对已经存在则替换它。这意味着不会忘记其他键值对。

我假设$id是产品标识符。第一个代码只允许您的购物车中的一个产品,而第二个代码允许许多不同的产品。


推荐阅读