Я создал массив сеанса в 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]"); 

Ничего не работает

0
Ronser 19 Ноя 2014 в 08:34

2 ответа

Лучший ответ

После нескольких попыток я получил то, что хотел: массив сеанса для URL-адреса кнопки возврата , и спасибо @Steini за его ценные предложения. Я публикую это, так как это может быть кому-то полезно ...

Сначала я изменил использование

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

К

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

Увидел тег Session :: push в Laravel Docs и попробовал, к счастью, это сработало. Потому что первый удаляет существующий массив сеансов и создает новый.

А распечатать массив сеансов Laravel так же просто, как распечатать сеанс с добавленным суффиксом

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

Таким образом, я напечатал мой массив сеанса и использовал его для моей кнопки возврата ...

2
2 revs 19 Ноя 2014 в 08:23

Потому что вы поместили весь свой массив в переменную сеанса 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");
2
Steini 19 Ноя 2014 в 06:08