如何以樹狀格式打印數組 - 使其更容易閱讀?如果我在PHP中使用print_r,它會將數組打印在垃圾中
回答
嘗試:
<pre><?php print_r($var); ?></pre>
這將得到正確的樹結構HTML的空格政策修剪出來。
作爲附錄,我會指出,我發現'
'給出了更一致的(樹狀)結果(儘管我沒有研究過*爲什麼*) – 2009-10-04 14:21:30你是打包在<pre>
標籤的輸出?這應該會讓你有相當不錯的輸出,因爲它會顯示空格。另一個選擇是安裝xdebug擴展,然後可以replace var_dump
,以便它生成更可讀的HTML輸出。
+1 for xdebug。它提供的替代'var_dump'非常好地支持數組,幾乎完全不需要'print_r'。 – 2009-10-03 22:44:23
Mabe輸出看起來像網頁中的垃圾。嘗試查看頁面的源代碼,並且它將以樹狀格式呈現,我想。
function pr($var)
{
print '<pre>';
print_r(htmlspecialchars($var));
print '</pre>';
}
pr($myArray);
'htmlspecialchars'請。好的,所以安全性並不是調試代碼的問題(儘管逃避你應該始終擁有的習慣),但是變量中的任何'<'字符都會混淆輸出。 – bobince 2009-10-04 00:09:32
'function pr($ var){print'
' . htmlspecialchars(print_r($var, true)) . ''; }' – eyelidlessness 2009-10-04 02:50:06
嘗試採取看看Zend_Debug,從Zend框架,在有效傾銷複雜的變量做了出色的工作相對插件和播放模塊。
用法:
$my_var = new StdObject(); // or whatever
Zend_Debug::dump($my_var);
die; // optional, prevents routing, forwarding away, etc.
可能我建議使用var_export($array)
?
它格式的可解析PHP語法值
甚至當你忘記輸出<pre>
和</pre>
標籤, 而對眼睛不是很容易, 其產量仍然更有意義則print_r
非正式一堆數據。
正如許多人以前提到的那樣,請務必將其包裝在<pre>
標籤周圍。
我會採取額外的預防措施,以確保沒有包裝是<pre>
爲好,如<p>
或<div>
用CSS類,它可以覆蓋Pre的風格
你可以打印到錯誤日誌:
error_log(print_r($myarray,1));
請注意,您將看到\ n而不是回車符,因爲它必須在一行中摺疊。
print "<pre>";
print_r($var);
print "</pre>";
這實際上只是[現有的答案]的重複(https://stackoverflow.com/a/1515008)。 – Pang 2018-01-29 01:11:47
- 1. Struct數組正在打印垃圾
- 2. PHP圖像打印垃圾
- 3. 打印垃圾
- 4. 使用strcpy時正在打印垃圾
- 5. 如果僅從垃圾中引用對象垃圾,那麼它是垃圾嗎?
- 6. 如何使用print_r php打印數組的值?
- 7. 試圖打印數組的最大值..但打印垃圾
- 8. 打印二維數組打印垃圾(魔方)
- 9. 在訪問結構數組時打印的垃圾數據
- 10. 從函數返回一個字符數組將打印垃圾值,但在函數中打印得很好?
- 11. 我的結構數組打印出垃圾
- 12. 結構中的字符數組打印垃圾
- 13. 不打印垃圾值
- 14. printf()打印垃圾字符
- 15. realloc()在c ..打印垃圾值
- 16. PHP不能打印數組元素而不使用print_r
- 17. fprintf將垃圾打印到txt文件
- 18. {$ foo | @print_r}在屏幕上打印'{$ foo | @print_r}'
- 19. 使用GDI + Graphics.DrawString打印會產生垃圾字符
- 20. 變量參數列表打印垃圾
- 21. 正整數之和 - 打印垃圾值
- 22. 垃圾值在C數組
- 23. 甚至在空字符後仍然會打印垃圾值
- 24. 如何在javascript中打印php數組
- 25. 打印出一個整數數組垃圾
- 26. 如何打印出比使用print_r數組元素();?
- 27. fwrite打印垃圾,fread讀取垃圾結構
- 28. 如何在php中打印出兩個數組連接它們
- 29. 我使用php提交我的表單,但它會發送垃圾郵件
- 30. setPercent函數正在打印垃圾數據
請注意'print_r'以純文本格式打印而不是HTML格式。所以你需要查看源代碼才能看到原始輸出。 – Gumbo 2009-10-03 22:24:18