<?php
session_start();
if(isset($_SESSION['views']))
$_SESSION['views'] = $_SESSION['views']+ 1;
else
$_SESSION['views'] = 1;
echo "views = ". $_SESSION['views'];
?>
$_SESSION['views']
是否初始化为FALSE
?
编辑:我指的是第三行代码:
if(isset($_SESSION['views']))
$_SESSION['views']
没有什么特别之处。$_SESSION
是一个"正常"数组。如果不设置任何内容,views
只是一个未定义的数组索引。
它被初始化为1
,因为你告诉它是.
$_SESSION['views']
被初始化为您设置的任何值。根据您的示例,它将被初始化为1
或TRUE
。
如果我理解正确,它是这样的:如果用户从未去过你的网站,那么你正在启动一个新的会话,$_SESSION['views']
将不会被设置(所以你将其设置为1(。另一方面,如果用户的请求带有有效会话的会话ID,则变量将被设置为上次存储的值。