php中var_dump()和print_r()的差別是什麼?這篇文章就簡單比較一下var_dump()和print_r(),讓大家了解var_dump()和print_r()之間的差別,希望對大家有幫助。
var_dump()函數
#var_dump()函數會顯示變數的結構化訊息,包括其資料型態、值、長度,元素的個數,它是用來偵錯程式碼的,沒有回傳值。
範例1:有一個陣列obj1,一個物件obj2,使用var_dump()函數輸出
<?php $obj1 = array('php', 'mysql', 'javascript'); $obj2 = (object) array('php', 'mysql', 'javascript'); var_dump($obj1); var_dump($obj2); ?>
輸出結果:
說明:
var_dump()函數轉儲的資訊會自動包含在pre元素中,看到的每種類型都有自己的顏色。增強可讀性。
例2:如果輸入
var_dump(null);
其傳回NULL,var_dump()主要是用於偵錯。
print_r()函數
print_r()函數以簡潔、方便閱讀的方式來顯示變數的相關資訊。陣列將以鍵和值的格式來顯示,但無法顯示元素資料類型。
print_r()函數可以取兩個參數,其中第一個參數是要轉儲的變量,第二個參數是布林值。當我們將第二個參數設為true,無法傳回任何值,只能轉儲/輸出值。
範例1:同樣有一個陣列obj1,一個物件obj2,使用print_()函數輸出
<?php $obj1 = array('php', 'mysql', 'javascript'); $obj2 = (object) array('php', 'mysql', 'javascript'); echo "<pre class="brush:php;toolbar:false">"; print_r($obj1); print_r($obj2); echo ""; ?>
輸出:
print_r函數轉儲的資訊不會自動包含在pre元素中,我們必須自己把資訊加到pre元素用,不然它會在一行顯示:
例2:如果輸入
print_r(null)
不會傳回任何值。
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。
以上是php中var_dump()和print_r()的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!