У меня есть следующая ситуация, когда мне нужно добавить несколько значений от $usuario
до $_SESSION
. Вот один из способов сделать это, однако, громоздко, поскольку $user
имеет слишком много полей.
$_SESSION['logado_ecse'] = true;
$_SESSION['user'] = $usuario['login'];
$_SESSION['usuario_id'] = $usuario['id'];
$_SESSION['habilitada'] = $usuario['habilitada'];
$_SESSION['bloqueada'] = $usuario['desbloqueada'];
$_SESSION['administrador'] = $usuario['administrador'];
....
$_SESSION['auditor'] = $usuario['auditor'];
Я искал более элегантное решение, где в одну строку, я мог бы сделать то же самое, как, например, что-то вроде этого, но это решение не работает, как ожидалось.
$_SESSION = array_merge($usuario, $_SESSION);
переменная $ Новичок следующим образом
echo gettype($usuario);
array
var_dump($usuario);
array (size=34)
'id' => string '1' (length=1)
0 => string '1' (length=1)
'login' => string 'admin' (length=5)
1 => string 'admin' (length=5)
'auditor' => string '0' (length=1)
2 => string '0' (length=1)
...
'telefone2' => string '11' (length=2)
14 => string '11' (length=2)
Мне нравится решение @ KV, я думаю, что я собираюсь реализовать его как функцию. До сих пор, моя идея состоит в том, что $_SESSION
является контейнером для «пользователя», поэтому решение, как
$_SESSION['USER']=$usuario
будет фрагментировать данные пользователя в два
$_SESSION['some_name']
$_SESSION['USER']['some_name']
, не говоря уже о том, что я придется переформатировать другие части кода.
Почему не просто '$ _SESSION ['USER'] = $ usuario;' –