在SESSION中存储的数组后出现数字

时间:2009-04-06 03:12:38

标签: php arrays session

我在存储在会话变量上的数组上执行print_r,由于某些未知原因,它在数组打印后添加了一个数字。

示例:

Array
(
    [0] => 868
    [userid] => 868
)
1  

如果我直接在函数本身中执行print_r,并且在变量存储在会话变量之前,则不会添加该数字。

解决方案:

几乎在Paolo正确回答我的问题的同时,我找到了原因代码。

print_r上的简单回显

3 个答案:

答案 0 :(得分:5)

我有同样的问题。您可能会回显print_r()的返回值,即'true'。您必须设置print_r()以返回格式化文本而不是成功或失败。

echo "Session: ".print_r($_SESSION,true)."<br />\n";

答案 1 :(得分:0)

您可以在print_r周围发布您正在使用的代码吗?获得1的最常见原因是当您尝试打印布尔值时:

$my_bool = true;
print $my_bool; // will be printed as 1
print_r($my_bool); // will also be printed as 1

答案 2 :(得分:0)

除了使用print_rvardump之外,您还应考虑使用FirePHPPHP Quick Profiler来帮助您调试和显示变量的值。

使用FirePHP,您可以将值显示在Firebug的控制台中。使用PHP Quick Profiler,页面底部会添加一个控制台,可用于显示您需要的任何值。