在 PHP 中想要使用 Session 变量,除了必须要启动之外,还要经过设置的过程。设置和获取 Session 中的数据,都要通过访问 $_SESSION 数组来完成。
自 PHP4.1.0 起,$_SESSION 同 $_POST、$_GET 和 $_COOKIE 等一样成为了超级全局数组,但是在使用 $_SESSION 之前必须先使用 session_start() 函数来开启 Session 才行。
$_SESSION 为一个关联数组,和普通关联数组键值对的含义相同。设置 Session 的语法格式如下:
【示例】使用 $_SESSION 定义 Session,并获取 Session 的值。
<?php
session_start();
$str = '城东书院';
$arr = ['Session','$_SESSION'];
$_SESSION['name'] = $str;
$_SESSION['url'] = 'http://www.cdsy.xyz/computer/programme/PHP/';
$_SESSION['title'] = $arr;
foreach ($_SESSION as $key => $value) {
if(is_array($value)){
echo $key.':';
print_r($value);
}else{
echo $key.' = '.$value.'<br>';
}
}
?>
运行结果如下:
执行上面的脚本后,不仅会将这几个变量或数组保存到 $_SESSION 中,还会被保存到服务器端由“sess_”和 Session ID 所命名的文件中,这个文件的位置可以通过修改 php.ini 配置文件或使用 session.save_path 配置。而且这个文件可以直接使用文本编辑器打开,文件的内容结构如下所示:
执行上面的脚本所创建的 Session 文件的内容如下所示:
如果想要修改设置好的 Session 的值,只需要像普通数组那样,重新为 Session 中指定的元素赋值即可,修改后的信息也会同步更新到对应的 Session 文件中。