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_dump
和print_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(): –
- 此function显示关于一个或多个expression式的结构化信息,包括其types和值。 数组和对象以recursion的方式recursion地探索,其值用于显示结构。
- 这个函数显示一个variables中元素的个数。
- 这个函数显示variables的长度。
- 不能返回值只打印值。
- 它用于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(): –
- 打印关于variables的人类可读信息。
- 不要在var_dump()中显示variables中的元素个数。
- 不要将variables的长度显示为var_dump()。
- 如果在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>