继内更新数据是我的PHP代码:PHP:如何在一个数组是一个数组
while($row = $resp->fetch_assoc())
{
$itemArray = array(
array(
'name' => $row["product_name"],
'id' => $row["id"],
'image' => $row['images'],
'discount' => $row["discount"],
'quantity' => $min_quantity,
'price' => $row["price"]
)
);
}
if(!empty($_SESSION["cart_item"]))
{
if(in_array($itemArray, $_SESSION["cart_item"]))
{
foreach($_SESSION["cart_item"] as $item)
{
if(in_array($item, $itemArray))
$_SESSION["cart_item"][$item]["quantity"] = $min_quantity;
break;
}
}
else
{
$_SESSION["cart_item"] = array_merge($_SESSION["cart_item"],$itemArray);
}
}
else
{
$_SESSION["cart_item"] = $itemArray;
}
执行此代码我得到这样的回应后:
Array
(
[0] => Array
(
[name] => Girls Designer Dress
[id] => 4
[image] => s:146:"2017/march/meetfashion01-04-2017_12-19-07_am.jpg,2017/march/meetfashion01-04-2017_12-19-08_am
.jpg,2017/march/meetfashion01-04-2017_12-19-09_am.jpg";
[discount] => 10
[quantity] => 1
[price] => 1200
)
)
什么我试图达到的目的是,如果用户在购物车中添加了相同的产品,而这些产品的数据我们已经得到响应,而不是再次创建阵列,并将其从1
到2
的同一产品的一个接一个的i want to just update the quantity
合并。
我坚持在这部分代码
foreach($_SESSION["cart_item"] as $item)
{
if(in_array($item, $itemArray))
$_SESSION["cart_item"][$item]["quantity"] = $min_quantity;
break;
}
我已经尝试过很多次,如果遇到同样的产品,然后通过1相同的产品增加的数量和不创建一个以上的阵列。
任何人都可以帮助这个逻辑和代码?
$ _SESSION [“cart-item”]的价值是什么?如果它是一个包含购物车信息的数组,那么循环它并不是一条可行的路。 – FrenchMajesty
是没有值,则这将在它'阵列 ( [0] =>数组 ( [名称] =>女孩设计连衣裙 [ID]加入=> 4 [图像] => S: 146:“2017/march/meetfashion01-04-2017_12-19-07_am.jpg,2017/march/meetfashion01-04-2017_12-19-08_am .jpg,2017/march/meetfashion01-04-2017_12-19-09_am。 JPG“; [折扣] => 10 [量] => 1 [价格] => 1200 ) )'如果存在,则阵列将被更新,并且该阵列将来自'0'延伸到从'[0] => Array'到'[1] => Array'这样的'1'我想更新[0]中出现的值 –