将数组保存在会话变量中


save array in session variable

在php4中,以下语法用于保存会话中的值:

<?php
    $userSession[auth] = "ok";
    $userSession[loginid] = $loginId;
    $userSession[firstName] = $firstName;
    $userSession[lastName] = $lastName;          
    session_register("userSession");
?>

我想知道在php5中使用会话的最佳实践是什么。

您可以简单地执行:

$_SESSION['userSession'] = $userSession;

正如@Fallen评论的那样,别忘了先做一个session_start()

作为旁注,您应该引用数组中用作键的字符串:

$userSession["auth"] = "ok";

与其以这种方式将数组加载到会话中,不如考虑将这些元素添加到会话本身:

session_start();
$_SESSION['auth'] = "ok";
$_SESSION['loginid'] = $loginId;
$_SESSION['firstName'] = $firstName;
$_SESSION['lastName'] = $lastName;

您不应该使用session_register!你可以直接从$_SESSION读/写。

session_start();
$_SESSION['userSession'] = array(
    "auth" => "ok",
    "loginid" => $loginId,
    "firstName" => $firstName,
    "lastName" => $lastName
);