Php 在Laravel-5/Blade中输出cookie

Php 在Laravel-5/Blade中输出cookie,php,cookies,laravel-5,blade,Php,Cookies,Laravel 5,Blade,我将cookie日期存储在一个序列化数组中,我希望通过刀片模板访问该数组 如果设置了与当前字段名匹配的cookie值,那么我想显示它。我目前正在使用以下代码,但我不确定如何访问数组值 {{{ Cookie::has('myBookingDetails') ? Cookie::get('myBookingDetails') : old('name') }}} myBookingDetails cookie的值如下所示: a:4:{s:4:"name";s:13:"Joe Bloggs";s:5:

我将cookie日期存储在一个序列化数组中,我希望通过刀片模板访问该数组

如果设置了与当前字段名匹配的cookie值,那么我想显示它。我目前正在使用以下代码,但我不确定如何访问数组值

{{{ Cookie::has('myBookingDetails') ? Cookie::get('myBookingDetails') : old('name') }}}
myBookingDetails cookie的值如下所示:

a:4:{s:4:"name";s:13:"Joe Bloggs";s:5:"email";s:29:"joe@domain.co.uk";s:5:"phone";s:11:"0777777777";s:3:"reg";s:6:"123456";}

如何通过刀片访问“name”值?

数据已序列化。您需要使用
unserialize()
函数来获取数据

$data = unserialize(Cookie::get('myBookingDetails'));

$name = $data['name']

使用前检查是否存在。

不知道之前的答案是否解决了您的难题,但我可以提供一些帮助

我和一个类似的案子打过架。似乎在模板中——在laravel 5.1中——我无法直接访问Cookie:

Cookie::get('cookiename')
只返回null
cookie('cookiename')
返回一个Symfony\Component\HttpFoundation\cookie,但
$cookie->getValue()
再次返回
null

好的旧
$\u COOKIE['cookiename']
返回正确的COOKIE,因此您可以简单地使用
取消序列化($\u COOKIE['myBookingDetails'])['name']


PS:最好在控制器中处理cookies,并将一个普通变量传递给视图

是的,我已经尝试过取消序列化(Cookie::get('myBookingDetails')),但是我如何访问数组“name”,这是直接在刀片模板中还是在我的控制器中完成的?是否无法将其直接输出到模板?最好在控制器上执行。但是你可以在模板中完成。尝试此操作,可能会引发解引用错误。无法测试<代码>{{Cookie::has('myBookingDetails')?取消序列化(Cookie::get('myBookingDetails'))['name']:old('name')}}