"2-6ren">
gpt4 book ai didi

php - 如何从 laravel 中的 session 数组中删除一个项目

转载 作者:可可西里 更新时间:2023-11-01 00:08:16 25 4
gpt4 key购买 nike

这是我有一个 session 的问题

session('products')

这其实是一个包含id的数组

session('products')
array:4 [▼
0 => "1"
1 => "2"
2 => "4"
3 => "1"
]

现在我想删除 4 我该怎么做?我试过方法

session()->pull($product, 'products');

但是没有用!

其他解决方案

session()->forget('products', $product);

还是不行

最佳答案

你 AFAIR 必须首先检索整个数组,编辑它然后重新设置它。如果你想按产品 ID 删除,我假设这是一个数组值,你可以使用:PHP array delete by value (not key)

$products = session()->pull('products', []); // Second argument is a default value
if(($key = array_search($idToDelete, $products)) !== false) {
unset($products[$key]);
}
session()->put('products', $products);

被误解的问题

Session::pull 将第一个参数作为要删除的项目,将第二个参数作为要返回的默认值。你弄错了参数的顺序。尝试:

session()->pull('products'); // You can specify second argument if you need default value

正如我在 source 中看到的那样, Session::forget 需要字符串或数组,所以你应该只指定第一个参数:

session()->forget('products');

关于php - 如何从 laravel 中的 session 数组中删除一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42609844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com