我有一个数组(mysql查询结果)存储在$_SESSION变量中。
现在,我尝试访问数组中的一个成员,如:
$_SESSION["template"]["key"]
现在,问题是它只给出了字符串"key"的第一个字符。奇怪的是,它在本地主机上运行得很好,在我以前的主机上也是如此。(我现在在hostgator上)。
我做错了什么?
意味着您的$_SESSION["template"]
变量是一个字符串,因此,$_SESSION["template"]["key"]
求值为$_SESSION["template"][0]
并返回第一个字符。
为什么你的$_SESSION["template"]是一个字符串而不是一个数组-这是一个调试问题。你现在就可以开始了。
如果您打开了register_globals
和一些名为$tamplate
的变量,它可能会重写$_SESSION内容
问题是$_SESSION["template"]
不是一个数组,而是一个字符串。["key"]
被认为是索引[0]
,其结果是第一个字符
$_SESSION["template"][0]
一样