1. 程式人生 > >php的echo,print_r(),var_dump()之間的區別

php的echo,print_r(),var_dump()之間的區別

php的echo,print_r(),var_dump()之間的區別

  1. echo()

可以一次輸出多個值,多個值之間用逗號分隔。echo是語言結構(language construct),而並不是真正的函式,因此不能作為表示式的一部分使用。

  1. print()
    函式print()列印一個值(它的引數),如果字串成功顯示則返回true,否則返回false。

  2. print_r()
    可以把字串和數字簡單地打印出來,而陣列則以括起來的鍵和值得列表形式顯示,並以Array開頭。但print_r()輸出布林值和NULL的結果沒有意義,因為都是列印"\n"。因此用var_dump()函式更適合除錯。
    列印關於變數的易於理解的資訊,如果給出的是 string、integer 或 float,將列印變數值本身。如果給出的是 array,將會按照一定格式顯示鍵和元素。object 與陣列類似。 記住,print_r() 將把陣列的指標移到最後邊。使用 reset() 可讓指標回到開始處。

  3. var_dump()

此函式顯示關於一個或多個表示式的結構資訊,包括表示式的型別與值。陣列將遞迴展開值,通過縮排顯示其結構。
判斷一個變數的型別與長度,並輸出變數的數值,如果變數有值輸的是變數的值並回返資料型別。此函式顯示關於一個或多個表示式的結構資訊,包括表示式的型別與值。陣列將遞迴展開值,通過縮排顯示其結構。

  1. var_dump和print_r的區別:

var_dump返回表示式的型別與值而print_r僅返回結果,相比除錯程式碼使用var_dump更便於閱讀。