Laravel 循环会话以查找特定值

Laravel 循环会话以查找特定值,laravel,Laravel,我保存一个会话值,如下所示 会话::put('image.hash.$imageHash,$imageHash) 稍后我要检查所有为image.hash.*的会话,因为我稍后不知道$imageHash的值 我试过这个 $session = Session::all(); forearch ($session as $value) { if (strpos($value, 'image.hash') !== false) { echo $value; } }

我保存一个会话值,如下所示

会话::put('image.hash.$imageHash,$imageHash)

稍后我要检查所有为image.hash.*的会话,因为我稍后不知道$imageHash的值

我试过这个

$session = Session::all();

forearch ($session as $value) {
    if (strpos($value, 'image.hash') !== false)  {
        echo $value;
    }
}
if(Session::has('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"
  ]
这就是我创建它们的方式

会话::put('image-'.$folder'./'.$name,$folder'./'.$name)

我现在无法访问值信息,因为它位于一个数组中,并且根据上传的图像,该数组键似乎是jpg、png、gif、bmp等。我不明白这个键是如何添加的,因为我不是在会话键中添加数组,而是一个字符串


有什么想法吗?

我想你的$value包含数组。请在foreach中调试或回显gettype($value),并查看输出

$session = Session::all();
    forearch ($session as $value) {
        echo gettype($value)
        if (strpos($value, 'image.hash') !== false)  {
            echo $value;
        }
    }

我认为你的$value包含数组。请在foreach中调试或回显gettype($value),并查看输出

$session = Session::all();
    forearch ($session as $value) {
        echo gettype($value)
        if (strpos($value, 'image.hash') !== false)  {
            echo $value;
        }
    }

对于已编辑的问题:请在foreach循环中作为dd($value)进行调试。一旦循环被执行,它将显示$value的一倍输出,然后在这里共享输出。谢谢

$session = Session::all();
    forearch ($session as $value) {
        echo dd($value)
        if (strpos($value, 'image.hash') !== false)  {
            echo $value;
        }
    }

对于已编辑的问题:请在foreach循环中作为dd($value)进行调试。一旦循环被执行,它将显示$value的一倍输出,然后在这里共享输出。谢谢

$session = Session::all();
    forearch ($session as $value) {
        echo dd($value)
        if (strpos($value, 'image.hash') !== false)  {
            echo $value;
        }
    }

添加
var\u dump($value)
bevor如果要查看$value;)中的内容更新了我的问题,需要其他帮助,请查看添加
var\u dump($value)
bevor如果要查看$value;)中的内容更新了我的问题,需要其他帮助,请看一看你是对的,我已经像这个$session那样解决了$key=>$value,并在key上而不是value上执行strpos,现在它工作了更新了我的问题,需要其他帮助,请看一看你是对的,我已经像这个$session一样解决了$key=>$value,并在key上而不是value上执行strpos,现在它工作了。更新了我的问题,需要其他帮助,请看一看