我保存了像这样的会话值
Session :: put('image.hash。'。$ imageHash,$ imageHash);
稍后我想检查所有会话是image.hash。*因为我以后不知道$ imageHash的值
我试过这个
如果(会话::具有( 'image.hash。*'))
但是当然它不起作用。如果我不知道最后一部分
,我如何遍历所有这些会话值image.hash.djn6ago
image.hash.fJtbru
image.hash.ai12de
我也试过这个
$session = Session::all();
forearch ($session as $value) {
if (strpos($value, 'image.hash') !== false) {
echo $value;
}
}
但是当我运行该代码时,我得到了这个
strpos()期望参数1为字符串,给定数组
编辑:
管理循环浏览所有感兴趣的键,但现在又遇到了另一个问题。
我做了
DD($会议);
找出会话中有哪些键和值,发现我的图像键指向数组而不是像我预期的那样的字符串,这是它们的外观
"image-uploads/2016/11/25/15/twest-test" => array:1 [▼
"jpg" => "uploads/2016/11/25/15/twest-test.jpg"
]
"image-uploads/2016/11/25/15/moviefone" => array:1 [▼
"png" => "uploads/2016/11/25/15/moviefone.png"
]
这就是我创建它们的方式
Session :: put('image - '。$ folder。'/'。$ name,$ folder。'/'。$ name);
我现在有问题访问值信息,因为它在一个数组中,这个数组键似乎是jpg,png,gif,bmp等,具体取决于上传的图像。我不明白如何添加此密钥,因为我没有在会话密钥中添加数组而是添加字符串。
有什么想法吗?
答案 0 :(得分:1)
我认为你的$ value包含数组。请在foreach中调试或回显gettype($ value)并查看输出。
$session = Session::all();
forearch ($session as $value) {
echo gettype($value)
if (strpos($value, 'image.hash') !== false) {
echo $value;
}
}
答案 1 :(得分:1)
编辑问题:请在foreach循环中调试为dd($ value)。一旦循环执行,它将显示一次$ value的输出,然后在此处共享输出。谢谢。
$session = Session::all();
forearch ($session as $value) {
echo dd($value)
if (strpos($value, 'image.hash') !== false) {
echo $value;
}
}