“Laravel会话数组”在Laravel中打印创建的会话数组

时间:2014-11-19 05:34:31

标签: php session laravel laravel-4

我已经使用代码

在laravel中创建了一个会话数组
Session::put("backUrl", array($workout_id =>URL::previous()))   ;
  //or
Session::push("backUrl.$workout_id", URL::previous())   ;

两个工作都已成功创建,我可以在调试器中看到它

'backUrl' => array(1) [
    '78' => string (36) "http://192.241.4.104/admin/view?cs=1"
]

现在我无法打印它,我使用的代码是

echo Session::get("backUrl"[$workout_id]);

它显示syntax error, unexpected '['错误

我也用过

echo Session::get("backUrl[$workout_id]"); 

没有效果

2 个答案:

答案 0 :(得分:2)

因为您在会话变量" backurl"。

下键入了整个数组。

如果你是var_dump:

var_dump(Session::get("backUrl")):

我很确定你会得到:

array(
    [2] => "http://previous-url"
)

你是这样的:

$lastUrl = Session::get("backUrl");
echo array_keys($lastUrl)[0]; //workout-ID
echo array_values($lastUrl)[0]; //Value

或者你单独保存两个变量:

Session::put("backUrl", URL::previous());
Session::put("lastWorkoutId", $workout_id);

然后单独阅读:

Session::get("backUrl");
Session::get("lastWorkoutId");

答案 1 :(得分:2)

经过多次试验后,我得到了我想要的后退按钮URL的会话数组,感谢@Steini提供了宝贵的建议。我发布这个,因为它可能对某人有用......

起初我改变了使用

Session::put("backUrl", array($workout_id =>URL::previous()))   ;

Session::put("backUrl.$workout_id", URL::previous())    ;

看到Session::push tag in Laravel Docs并且幸运地尝试了它。因为第一个删除现有会话数组并创建一个新数组。

打印Laravel会话数组就像打印带有后缀的会话一样简单

Session::get("sessionArrayName")['id']
   (i.e)
Session::get("backUrl")[$workout_id];

这样就打印了我的会话数组并将其用作我的后退按钮....