2016-11-25 54 views
0

我保存这样遍历会议寻找特定值

会议::把( 'image.hash。' $ imageHash,$ imageHash)会话值;

后来我想检查是image.hash所有会话。*,因为我不知道在以后的$ imageHash

的价值我想这

如果( 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" 
    ] 

这是怎么了我创建它们

Session :: put('image - '。$ folder。'/'。$ name,$ folder。'/'。$ name);

我现在有问题可以访问价值信息,因为它在一个数组中,并且这个数组键值似乎是jpg,png,gif,bmp等,这取决于上传的图像。我不明白如何添加此密钥,因为我没有将数组添加到会话密钥而是字符串。

任何想法?

+0

加上'的var_dump($值);'bevor你仿佛看到了什么在$值) – Andre

+0

更新我的问题,需要额外的帮助,请看看 –

回答

1

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

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

你是对的,我已经解决它像这样$ session as $ key => $ value并且在键值上做strpos而不是value,现在它可以工作 –

+0

更新了我的问题,需要额外的帮助,请看一看 –

1

对于编辑问:请调试作为foreach循环DD($值)。一旦循环执行,它将显示一次$ value的输出,然后在这里共享输出。谢谢。

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