相当简单的代码:
原文链接:https://www.f2er.com/php/134721.html<? session_start(); $_SESSION['t'.time()] = "ok"; echo "<pre>".print_r($_SESSION,1)."</pre>"; ?>
像预期的那样显示出类似的东西
Array ( [t1330966834] => ok [t1330966835] => ok [t1330966836] => ok )
3页重新加载后.
我们改变几个符号:
$_SESSION[time()] = "ok";
(现在没有“t”)我希望在重新加载之后会有类似的东西
Array ( [t1330966834] => ok [t1330966835] => ok [t1330966836] => ok [1330967020] => ok [1330967021] => ok [1330967022] => ok [1330967023] => ok )
但实际上结果完全不同:
Array ( [t1330966834] => ok [t1330966835] => ok [t1330966836] => ok [1330967020] => ok )
我们有3个先前的阵列单元格,只有一个“时间”单元格 – 无论您重新加载页面多少次.时间是正确的,它每秒都不同但只有一个没有’t’的细胞!
我也试过了
$t =time(); $_SESSION[$t] = "ok";
乃至
$t =intval(time()); $_SESSION[$t] = "ok";
但它仍然只有一个细胞随着时间的推移.
在两台不同的服务器上测试了PHP 5.2.13和5.3.10.
我究竟做错了什么?