繼內更新數據是我的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]中出現的值 –