作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
"2-6ren">
这是我有一个 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/
我是一名优秀的程序员,十分优秀!