我在存储在会话变量上的数组上执行print_r,由于某些未知原因,它在数组打印后添加了一个数字。
示例:
Array
(
[0] => 868
[userid] => 868
)
1
如果我直接在函数本身中执行print_r,并且在变量存储在会话变量之前,则不会添加该数字。
解决方案:
几乎在Paolo正确回答我的问题的同时,我找到了原因代码。
print_r上的简单回显
答案 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_r
或vardump
之外,您还应考虑使用FirePHP或PHP Quick Profiler来帮助您调试和显示变量的值。
使用FirePHP,您可以将值显示在Firebug的控制台中。使用PHP Quick Profiler,页面底部会添加一个控制台,可用于显示您需要的任何值。