php var_dump()vs print_r()

var_dump()print_r()在将数组吐出作为string方面有什么区别?

var_dump函数显示关于variables/expression式的结构化信息,包括其types 。 数组recursion地用值缩进来显示结构。 它还显示哪些数组值和对象属性是引用。

print_r()以人类可读的方式显示有关variables的信息。 数组值将以显示元素的格式显示。 类似的符号用于对象。

例:

 $obj = (object) array('qualitypoint', 'technologies', 'India'); 

var_dump($obj)将显示在屏幕下方的输出中。

 object(stdClass)#1 (3) { [0]=> string(12) "qualitypoint" [1]=> string(12) "technologies" [2]=> string(5) "India" } 

而且, print_r($obj)将显示在屏幕下方的输出中。

 stdClass Object ( [0] => qualitypoint [1] => technologies [2] => India ) 

更多信息

  • 的var_dump
  • 的print_r

一般来说, print_r( )输出更好,更简洁,更易于阅读,也就是更易读,但不能显示数据types。

使用print_r()您也可以将输出存储到一个variables中:

 $output = print_r($array, true); 

哪个var_dump()不能做。 然而, var_dump()可以显示数据types。

var_dump()会告诉你事物的types以及它的内容。

所以你会得到=> [string]“var” 示例就在这里。

print_r()将只输出内容。

会输出=>“VAR” 例如在这里。

如果你问什么时候应该使用什么,我通常使用print_r()来显示数值, var_dump()使用variablestypes。

var_dump显示关于对象/variables的结构化信息。 这包括types和值。 像print_r数组通过recursion和缩进来recursion。

print_r以一种格式显示关于值的人类可读信息,该格式表示数组和对象的键和元素。

最重要的是要注意的是, var_dump将输出types以及值,而print_r不会。

我会build议在输出到浏览器时将var_dump()或printr的输出放到pre标签中。

 print "<pre>"; print_r($dataset); print "</pre>"; 

会给一个更可读的结果。

var_dumpprint_r之间的显着差异

这两个函数转储有关variables的信息 ,但var_dump将被转储的多个参数,其中print_r可以从中取出两个参数,其中第一个参数是要转储的variables,第二个参数是布尔值。

var_dump不能返回任何值,只能转储/打印值,如果我们将print_r第二个参数设置为true ,print_r可以返回variables信息。 print_r的返回值将是string格式。

print_r打印的信息更多的是可读格式,其中var_dump打印原始值。

print_r函数可以在许多上下文中使用,因为var_dump可以用于debugging目的,主要是因为它不能返回值。

var_dump($var)通过提供更多详细信息来显示详细信息

  • 数据types的值(包括后代元素)
  • variables中元素的数量
  • 价值的长度

对于大数组,print_r可以显示比有用的信息更多的信息。 您可以像这样截断它,显示前2000个字符或您需要的多个字符。

  echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>"; 

print_r()和var_dump()是用于PHPdebugging的数组debugging函数。 Array(array_length){[0] = string)print_r()函数以array([key] = value)的forms返回数组键和其成员,而var_dump()函数返回数组列表的数组键和数据types和长度, (1) 'A'}。

var_dump(): –

  1. 此function显示关于一个或多个expression式的结构化信息,包括其types和值。 数组和对象以recursion的方式recursion地探索,其值用于显示结构。
  2. 这个函数显示一个variables中元素的个数。
  3. 这个函数显示variables的长度。
  4. 不能返回值只打印值。
  5. 它用于debugging目的。

例如: –

 <?php $a = array(1, 2, array("a", "b", "c")); var_dump($a); ?> 

输出: –

  array(3) { [0]=> int(1) [1]=> int(2) [2]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } } 

print_r(): –

  1. 打印关于variables的人类可读信息。
  2. 不要在var_dump()中显示variables中的元素个数。
  3. 不要将variables的长度显示为var_dump()。
  4. 如果在printf_r()中将第二个参数设置为true,则返回值。

例如: –

 <pre> <?php $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z')); print_r ($a); ?> </pre> 

输出: –

 <pre> Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) ) </pre>