在PHP中将数组设置为会话变量,然后访问它

时间:2013-05-06 22:58:28

标签: php html arrays session html-table

如果我有一个数组:

$resultArr = pg_fetch_array($result,NULL);

在我的php代码顶部我声明:

$_SESSION['resultArr'] = $resultArr;

为什么我不能像这样访问数组元素:

for($i = 0; $i < $NUM_COLUMNS; $i++){
    // creation of the table and row are handled elsewhere.
    // The table is also within a <form> if that matters
    echo "<td>" .$_SESSION['resultArr'][$i]."</td>";
}

我的桌子最终有空列,我无法弄清楚为什么......

编辑:我明白了。我在我的代码顶部(在session_start()之后)声明$_SESSION['resultArr'] = $resultArr;并且它没有被设置。我把它移到$resultArr = pg_fetch_array($result,NULL);

之后的那一点

它应该是如何工作的,还是应该在代码顶部工作正常?

2 个答案:

答案 0 :(得分:1)

也许您没有提及,但在session_start()

上执行任何操作之前,您必须致电$_SESSION

答案 1 :(得分:0)

编辑后,是的,这是它应该如何工作,首先需要声明$resultArr,然后将它的值放在会话数组中

因为在php中你不再使用指针, $_SESSION['resultArr'] = $resultArr;表示&#34; $ _ SESSION [&#39; resultArr&#39;]在该精确时刻获取$ resultArr的所有值&#34;,但这并不意味着&#34;它们是相同的,如果一个改变,那么另一个改变&#34;