相当简单的代码:
<?
session_start();
$_SESSION['t'.time()] = "ok";
echo "<pre>".print_r($_SESSION, 1)."</pre>";
?>
Run Code Online (Sandbox Code Playgroud)
像预期的那样显示出类似的东西
Array
(
[t1330966834] => ok
[t1330966835] => ok
[t1330966836] => ok
)
Run Code Online (Sandbox Code Playgroud)
3页重新加载后.
让我们改变几个符号:
$_SESSION[time()] = "ok";
Run Code Online (Sandbox Code Playgroud)
(现在没有't')我希望在重新加载之后会有类似的东西
Array
(
[t1330966834] => ok
[t1330966835] => ok
[t1330966836] => ok
[1330967020] => ok
[1330967021] => ok
[1330967022] => ok
[1330967023] => ok
)
Run Code Online (Sandbox Code Playgroud)
但实际上结果完全不同:
Array
(
[t1330966834] => ok
[t1330966835] => ok
[t1330966836] => ok
[1330967020] => ok
)
Run Code Online (Sandbox Code Playgroud)
我们有3个先前的阵列单元格,只有一个"时间"单元格 - 无论您重新加载页面多少次.时间是正确的,它每秒都不同但只有一个没有't'的细胞!我也试过了
$t =time();
$_SESSION[$t] = "ok";
Run Code Online (Sandbox Code Playgroud)
乃至
$t =intval(time());
$_SESSION[$t] = "ok";
Run Code Online (Sandbox Code Playgroud)
但它仍然只有一个细胞随着时间的推移.
在2个不同的服务器上测试了php 5.2.13和5.3.10.我究竟做错了什么?
小智 6
$_SESSION关联数组中的键与PHP中的常规变量名称具有相同的限制,即它们不能以数字开头,必须以字母或下划线开头.有关详细信息,请参阅本手册中有关变量的部分.
http://php.net/manual/en/session.examples.basic.php
| 归档时间: |
|
| 查看次数: |
1451 次 |
| 最近记录: |