【发布时间】:2014-03-24 14:34:44
【问题描述】:
我正在创建会话变量以将数据存储在对象数组中。该数组分配给会话。我稍后将向具有 id 的不同页面发送 get 调用,并希望从会话中访问相应的数据。但是我将数据设为空。这是我的代码
第 1 页:
session_start();
for ($i=0;$i<100;$i++){
$object[$i]->name = $ret_obj[$i]['name'];
$object[$i]->birthday_date = $ret_obj[$i]['birthday_date'];
$_SESSION[$i] = $object[$i];
}
var_dump of session 正确打印会话变量。
现在在 for 循环中,我正在调用第 2 页:
page2.php?pid=$i
第 2 页:
session_start();
$pid = $_GET['pid'];
print_r($_SESSION[$pid]);
print_r($_SESSION);
我在 $_SESSION 中获得了价值,但在 $_SESSION[$pid] 中没有获得价值
【问题讨论】:
-
哎呀,到处都是 pid……有点像粘贴了以前的版本。
-
如果你
echo $pid怎么办?你得到预期的结果了吗? -
它给出了正确的值...
-
也许这是一个愚蠢的想法,但如果你存储
$_SESSION["a$i"]并使用pid=a$i怎么办?也许有些东西弄乱了数字索引。 -
你应该看看下面的帖子:stackoverflow.com/questions/18797251/…。为了澄清,请尝试添加字符前缀而不是仅使用数字。