如果我有一个数组:
$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);
之后的那一点
它应该是如何工作的,还是应该在代码顶部工作正常?
答案 0 :(得分:1)
也许您没有提及,但在session_start()
$_SESSION
答案 1 :(得分:0)
编辑后,是的,这是它应该如何工作,首先需要声明$resultArr
,然后将它的值放在会话数组中
因为在php中你不再使用指针,
$_SESSION['resultArr'] = $resultArr;
表示&#34; $ _ SESSION [&#39; resultArr&#39;]在该精确时刻获取$ resultArr的所有值&#34;,但这并不意味着&#34;它们是相同的,如果一个改变,那么另一个改变&#34;