ich habe ein Session-Array in Laravel erstellt mit dem Code:
Session::put("backUrl", array($workout_id =>URL::previous())) ;
//or
Session::push("backUrl.$workout_id", URL::previous()) ;
Beide funktionieren und es wurde erfolgreich erstellt und ich konnte es im Debugger sehen
"backUrl" => array(1) [
"78" => string (36) "http://192.241.4.104/admin/view?cs=1"
]
Jetzt kann ich es nicht drucken. Der Code, den ich verwendet habe, ist
echo Session::get("backUrl"[$workout_id]);
es zeigt a syntax error, unexpected "["
Error
Und ich habe auch gebraucht
echo Session::get("backUrl[$workout_id]");
nichts funktioniert
Antworten:
2 für die Antwort № 1Weil Sie Ihr gesamtes Array unter der Sitzungsvariablen "backurl" eingegeben haben.
wenn du var_dump:
var_dump(Session::get("backUrl")):
Ich bin mir ziemlich sicher, dass Sie bekommen:
array(
[2] => "http://previous-url"
)
Also, ob du so gehst:
$lastUrl = Session::get("backUrl");
echo array_keys($lastUrl)[0]; //workout-ID
echo array_values($lastUrl)[0]; //Value
Oder Sie speichern Ihre beiden Variablen getrennt:
Session::put("backUrl", URL::previous());
Session::put("lastWorkoutId", $workout_id);
Und dann einzeln lesen:
Session::get("backUrl");
Session::get("lastWorkoutId");
2 für die Antwort № 2
Nach mehreren Versuchen habe ich bekommen, was ich wollte ein Session-Array für die Schaltfläche "Zurück" und danke @Steini für seine wertvollen Vorschläge. Ich poste dies, da es für jemanden nützlich sein könnte ...
Zuerst habe ich mich geändert
Session::put("backUrl", array($workout_id =>URL::previous())) ;
zu
Session::put("backUrl.$workout_id", URL::previous()) ;
Sah das Sitzung :: Push-Tag in Laravel Docs und versuchte es zum Glück. Der erste löscht das vorhandene Sitzungsarray und erstellt ein neues.
Das Drucken des Laravel-Session-Arrays ist so einfach wie das Drucken einer Session mit zusätzlichem Suffix
Session::get("sessionArrayName")["id"]
(i.e)
Session::get("backUrl")[$workout_id];
Also hab mein Session-Array ausgedruckt und für meinen Zurück-Button benutzt ....