я маю створив масив сеансів у 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]);
це показує a syntax error, unexpected "["
помилка
І я також використовував
echo Session::get("backUrl[$workout_id]");
нічого не працює
Відповіді:
2 для відповіді № 1Тому що ви ввели весь масив під змінну сеансу "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 для відповіді № 2
Після декількох випробувань я отримав те, що хотів масив сеансів для URL-адреси кнопки "назад" і завдяки @ Steini за його цінні пропозиції. Я публікую це повідомлення, оскільки це може бути корисним для когось ...
Спочатку я змінив користування
Session::put("backUrl", array($workout_id =>URL::previous())) ;
до
Session::put("backUrl.$workout_id", URL::previous()) ;
Побачили Session :: push tag в Документах Laravel і, на щастя, спробував працювати. Оскільки перший видаляє існуючий масив сеансів і створює новий.
А друк масиву сеансів Laravel так само просто, як друк сеансу з доданим суфіксом
Session::get("sessionArrayName")["id"]
(i.e)
Session::get("backUrl")[$workout_id];
Таким чином, мій масив сесії друкується і використовується для моєї кнопки назад ....