1. 程式人生 > >【php】echo與var_dump

【php】echo與var_dump

echo與var_dump的核心功能同樣是沒有區別的,皆為“輸出變數的值”,但是echo偏向於產品,給客戶看的,除錯人員、程式設計人員更適合使用var_dump來輸出變數,在除錯的時候,告別難以使用的echo吧!

echo只能輸出變數的值,var_dump能將變數的值與型別同時輸出。

如果不做任何處理,在php中是無法直接輸出一個數組的,需要用到一個for迴圈才可以,如果直接用echo輸出一個數組,php會報錯,但var_dump卻是可以的,還輸出得挺完美,無須通過任何的處理。

再有的就是類變數的輸出,如果不作任何處理,echo同樣是會報錯的,var_dump則可以輕鬆輸出。

用一個例子還說明這個問題,程式碼如下:

<?php
//對於普通變數的輸出
$i=1;
echo $i;
echo "<br>";//華麗的分隔符,請忽略
var_dump($i);
echo "<br>";//華麗的分隔符,請忽略

//對於陣列的輸出
$arr=array(1,2,3);
echo $arr;//輸出警告
echo "<br>";//華麗的分隔符,請忽略
var_dump($arr);
echo "<br>";//華麗的分隔符,請忽略

//對於類的輸出
class Test{
	public $i="i";
	public $j="j";	
}
$test = new Test(); 
var_dump($test);
echo "<br>";//華麗的分隔符,請忽略
echo $test;//輸出錯誤
echo "<br>";//華麗的分隔符,請忽略
?>
輸出結果如下:


可以看到var_dump對於變數、陣列、類的輸出,有著很好的表現,通過var_dump能夠輕易地觀察出變數、陣列、類此時的值為多少。而echo則報錯成狗,當然,在普通網頁的輸出,我們也不希望軟體產品客戶看到var_dump輸出的資訊,所以echo還是最基礎的東西。