首頁  >  文章  >  後端開發  >  PHP程式碼測試時print_r 和var_dump的差別

PHP程式碼測試時print_r 和var_dump的差別

墨辰丷
墨辰丷原創
2018-05-15 17:23:581803瀏覽

本篇文章主要介紹PHP程式碼測試時print_r 和var_dump的差別 ,有興趣的朋友參考下,希望對大家有幫助。

說到輸出,不得不提到php中的列印了。

首先當然是最常用的echo了,echo :輸出一個或多個字串;

print:和echo一樣,但速度比echo慢。
print_r:
           印出關於變數的易於理解的資訊,如果給出的是 string、integer 或 float,則會列印變數值本身。如果給出的是 array,將會按照一定格式顯示鍵和元素。 object 與數組類似。記住,print_r() 將把陣列的指標移到最後邊。使用 reset() 可讓指標回到起始處。

var_export:跟print_r和var_dump類似,但很少用。
var_dump:
           此函數顯示關於一個或多個表達式的結構訊息,包括表達式的型別與值。數組將遞歸展開值,透過縮排顯示其結構。
var_dump和print_r的差異:
            var_dump返回表達式的型別與值而print_r只回傳結果,相較於除錯程式碼使用var_dump則較方便閱讀。

print_r(),var_export(),var_dump()的差異具體見下:

eg:二維數組的輸出:

$arr=array(array('a'=>'aa','b'=>'bbb','c'=>'ccc'),
           array('a'=>'ddd','b'=>'eee','c'=>'fff'),
           array('a'=>'gg','b'=>'hh'));
print_r($arr);
//print_r输出:
 //Array ( [0] => Array ( [a] => aa [b] => bbb [c] => ccc ) 
                   [1] => Array ( [a] => ddd [b] => eee [c] => fff ) 
                   [2] => Array ( [a] => gg [b] => hh ) ) 
var_export($arr);
//var_export输出:
 //array ( 0 => array ( 'a' => 'aa', 'b' => 'bbb', 'c' => 'ccc', ), 
                   1 => array ( 'a' => 'ddd', 'b' => 'eee', 'c' => 'fff', ),
                   2 => array ( 'a' => 'gg', 'b' => 'hh', ), )
var_dump($arr);
//var_dump输出:
/* array (size=3)
  0 => 
  array (size=3)
   'a' => string 'aa' (length=2)
   'b' => string 'bbb' (length=3)
   'c' => string 'ccc' (length=3)
  1 => 
  array (size=3)
           'a' => string 'ddd' (length=3)
   'b' => string 'eee' (length=3)
   'c' => string 'fff' (length=3)
  2 => 
  array (size=2)
   'a' => string 'gg' (length=2)
   'b' => string 'hh' (length=2)
*/

下面在給一個json格式的輸出:

$arr=array(array('a'=>'aa','b'=>'bbb','c'=>'ccc'), 
           array('a'=>'ddd','b'=>'eee','c'=>'fff'),
           array('a'=>'gg','b'=>'hh'));
$arra=json_encode($arr);
print_r($arra);
//print_r输出:
 [{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]
var_export($arra);
//var_export输出:
 '[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]'
var_dump($arra);
//var_dump输出:
 string '[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]' (length=84)

 

 具體的差別,我想大家一看就可以懂了吧

 相關推薦:

#php列印函數入門教學

詳細介紹PHP列印輸出函數總表


詳解修正在PHP列印目前頁面的錯誤

以上是PHP程式碼測試時print_r 和var_dump的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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