我有一个像这样的 session 数组:
[
{
"itemId": "1",
"itemQuantity": "3",
"itemName": "Item_name1"
},
{
"itemId": "2",
"itemQuantity": "2",
"itemName": "Item_name2"
}
]
如果我知道 itemId
,如何更新单个商品的数量?
我知道执行此操作的一种方法是获取整个数组,循环遍历数组,进行更新并将整个数组“放入”回 session 中。 这是唯一的方法吗?
我是初学者。请帮忙。 谢谢。
最佳答案
对象是通过引用传递的,因此您可以简单地执行此操作。
foreach(Session::get('cart') as $item) {
if ($item->itemId == '2') { // say we want to double the quantity for itemId 2
$item->itemQuantity = $item->itemQuantity * 2;
break;
}
}
dd(Session::get('cart'));
输出:
array:2 [▼
0 => {#162 ▼
+"itemId": "1"
+"itemQuantity": "3"
+"itemName": "Item_name1"
}
1 => {#163 ▼
+"itemId": "2"
+"itemQuantity": 4 <<--- the quantity has been doubled
+"itemName": "Item_name2"
}
]
关于php - 如何更新 Laravel session 数组中的单个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30151030/