2
5.3.13中的奇怪行为?
我有一个变量$ isguest已被存储到前一页(previous.php)中的$ _SESSION ['isguest']中。在当前页面(main.php)中,我想确定用户是否已从previous.php重定向(因此是guest),或者他已直接登录到main.php。然后发生一些有趣的事情:
session_start();
echo "<pre>";
print_r($_SESSION); // At this point, [isguest] => 1;
echo "</pre>";
$isguest = ''; // this should have nothing to do with the SESSION variable that happens to have the same name, should it?
echo "<pre>";
print_r($_SESSION); // At this point, [isguest] => 0;
echo "</pre>";
如果它将会话变量更改为空字符串,我会怀疑'$ isguest'是一个引用变量。但是,由于将常量变量设置为空字符串会将会话变量更改为数字,所以我想不出任何可能发生的情况。 – Barmar
顺便说一句,养成使用'var_dump'而不是'print_r'的习惯,结果会更精确。 – Barmar
我们可以看到$ _SESSION ['isguest']'被设置并与之交互的地方吗? – Ibu