/ / “Laravel Session Array” Imprimindo uma matriz de sessão criada no Laravel - php, session, laravel, laravel-4

“Laravel Session Array” Imprimindo uma matriz de sessão criada no Laravel - php, session, laravel, laravel-4

eu tenho criou uma matriz de sessão em laravel usando o código:

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

Ambos funcionam e ele foi criado com sucesso e eu pude vê-lo no depurador

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

agora não consigo imprimir, o código que usei é

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

mostra um syntax error, unexpected "[" erro

E eu também usei

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

nada funciona

Respostas:

2 para resposta № 1

Porque você digitou seu array inteiro sob a variável de sessão "backurl".

se você var_dump:

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

Tenho certeza que você tem:

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

Então, se você for assim:

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

Ou você salva suas duas variáveis ​​separadamente:

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

E então leia-os individualmente:

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

2 para resposta № 2

Depois de vários testes, consegui o que queria uma matriz de sessão para URL do botão de retorno e obrigado a @Steini por suas valiosas sugestões. Estou postando isso como poderia ser útil para alguém ...

No começo eu mudei usando

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

para

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

Viu o Session :: push tag no Laravel Docs e tentou, felizmente, funcionou. Porque o primeiro exclui a matriz de sessão existente e cria uma nova.

E imprimir o array de sessão do Laravel é tão simples quanto imprimir uma sessão com sufixo adicionado

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

Assim, tenho a minha matriz de sessão impressa e usei para o meu botão de volta ....