>我使用以下代码在 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]");
什么都没用
因为您在会话变量"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");
经过几次试验,我得到了我想要的后退按钮 URL 的会话数组,并感谢@Steini的宝贵建议。我正在发布这个,因为它可能对某人有用......
起初我已经改变了使用
Session::put("backUrl", array($workout_id =>URL::previous())) ;
自
Session::put("backUrl.$workout_id", URL::previous()) ;
在Laravel Docs中看到Session::p ush标签并尝试幸运地工作。因为第一个删除现有会话数组并创建一个新会话数组。
打印Laravel会话数组就像打印带有后缀的会话一样简单
Session::get("sessionArrayName")['id']
(i.e)
Session::get("backUrl")[$workout_id];
因此打印了我的会话数组并将其用于我的后退按钮......