$products = Session::get('products'); // Get the array
unset($product[$index]); // Unset the index you want
Session::set('products', $products); // Set the array again
// Get the current session products
$products = session()->get('products');
// Remove certain products
$products = array_diff($products, [5, 11, 541]);
// Set the session with the new altered products
session()->put('products', $products);
4条答案
按热度按时间x7yiwoj41#
你AFAIR必须首先检索整个数组,编辑它,然后再次设置它.如果你想通过产品ID来删除,我假设它是一个数组值,你可以使用这个:PHP数组按值删除(不是键)
误解问题
Session::pull
将第一个参数作为删除项,第二个参数作为返回的默认值。你弄错了论点的顺序。试试看:正如我在源代码中看到的,
Session::forget
需要字符串或数组,所以你应该只指定第一个参数:toe950272#
此方法未经测试:
注意这里的点符号,值得一试。如果这不起作用,你总是可以这样做:
nkhmeac63#
如果您有从购物车中删除商品的功能,则可以按照以下方式执行此操作
jei2mxaa4#
我也在寻找这个功能,但最终还是这样做了。由于您要删除的是按值,因此此方法也是为一次性删除多个产品而构建的!
比如说;从带有产品的购物车中移除产品ID 5、11和541).