打印阵列时输出错误

时间:2016-05-26 13:03:32

标签: php debugging

我正在调试一些代码,当我尝试以可读的方式打印数据时, 它显得很奇怪......

echo "<br />users:" . print_r($users);
echo "<br />items:" . print_r($items);

结果如下:

Array ( ) 
users:1Array ( ) 
items:1

为什么结果数组显示在字符串“users:”之前?

2 个答案:

答案 0 :(得分:1)

如果你想在内部使用print_r()并回显,你必须告诉print_r()推迟其输出

echo "<br />users:" . print_r($users,true);
echo "<br />items:" . print_r($items,true);
  

manual for print_r()

答案 1 :(得分:1)

print_r直接打印到stdout。这里的执行顺序是:

  1. print_r到stdout
  2. return true
  3. 将您的字符串与true(变为1
  4. 连接起来
  5. echo串联字符串到stdout