首頁  >  文章  >  後端開發  >  php中var_dump()和print_r()的差別

php中var_dump()和print_r()的差別

青灯夜游
青灯夜游原創
2018-12-28 17:21:518661瀏覽

php中var_dump()和print_r()的差別是什麼?這篇文章就簡單比較一下var_dump()和print_r(),讓大家了解var_dump()和print_r()之間的差別,希望對大家有幫助。

php中var_dump()和print_r()的差別

var_dump()函數

#var_dump()函數會顯示變數的結構化訊息,包括其資料型態、值、長度,元素的個數,它是用來偵錯程式碼的,沒有回傳值。

範例1:有一個陣列obj1,一個物件obj2,使用var_dump()函數輸出

<?php  
$obj1 = array(&#39;php&#39;, &#39;mysql&#39;, &#39;javascript&#39;);
$obj2 = (object) array(&#39;php&#39;, &#39;mysql&#39;, &#39;javascript&#39;);
var_dump($obj1);
var_dump($obj2);
?>

輸出結果:

php中var_dump()和print_r()的差別

說明:

var_dump()函數轉儲的資訊會自動包含在pre元素中,看到的每種類型都有自己的顏色。增強可讀性。

php中var_dump()和print_r()的差別

例2:如果輸入

var_dump(null);

其傳回NULL,var_dump()主要是用於偵錯。

print_r()函數

print_r()函數以簡潔、方便閱讀的方式來顯示變數的相關資訊。陣列將以鍵和值的格式來顯示,但無法顯示元素資料類型。

print_r()函數可以取兩個參數,其中第一個參數是要轉儲的變量,第二個參數是布林值。當我們將第二個參數設為true,無法傳回任何值,只能轉儲/輸出值。

範例1:同樣有一個陣列obj1,一個物件obj2,使用print_()函數輸出

<?php  
$obj1 = array(&#39;php&#39;, &#39;mysql&#39;, &#39;javascript&#39;);
$obj2 = (object) array(&#39;php&#39;, &#39;mysql&#39;, &#39;javascript&#39;);
echo "<pre class="brush:php;toolbar:false">";
print_r($obj1);
print_r($obj2);
echo "
"; ?>

輸出:

php中var_dump()和print_r()的差別

print_r函數轉儲的資訊不會自動包含在pre元素中,我們必須自己把資訊加到pre元素用,不然它會在一行顯示:

php中var_dump()和print_r()的差別

例2:如果輸入

print_r(null)

不會傳回任何值。

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

以上是php中var_dump()和print_r()的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn