2016-05-26 66 views
-3

當我調試一些代碼,當我試圖打印數據以可讀的方式, 它得到了顯示非常奇怪......錯位的輸出打印陣列

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

結果是這樣的:

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

爲什麼結果數組顯示在字符串「users:」之前?

回答

1

print_r直接打印到標準輸出。這裏的執行順序是:

  1. print_r到stdout
  2. return true
  3. 串連您的字符串true(變得1
  4. echo串聯的字符串到stdout
1

如果你想使用print_r()內外呼應,你要告訴print_r()推遲其輸出這樣

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

manual for print_r()