我有一个存储在$ _SESSION变量中的数组(mysql查询结果)。
现在,我尝试访问该数组的成员,如:
$_SESSION["template"]["key"]
现在,问题在于它只提供字符串“key”的第一个字符。奇怪的是,它在localhost上完美运行,也在我之前的托管上运行。 (我现在在主持人身上)。
我做错了什么?
答案 0 :(得分:5)
这意味着您的$_SESSION["template"]
变量是字符串,因此$_SESSION["template"]["key"]
评估为$_SESSION["template"][0]
并返回第一个字符。
为什么你的$ _SESSION [“template”]是一个字符串而不是一个数组 - 是一个调试的问题。你现在就可以开始了。
如果你有register_globals
和一些名为$tamplate
的变量,它可能会重写$ _SESSION内容
答案 1 :(得分:1)
问题是$_SESSION["template"]
不是数组而是字符串。 ["key"]
被视为索引[0]
,会产生第一个字符
因此,您的代码与$_SESSION["template"][0]