Answers:
该var_dump
函数显示有关变量/表达式的结构化信息,包括其类型和值。递归地探索数组,并缩进显示结构的值。它还显示了哪些数组值和对象属性是引用。
该print_r()
约的方式,是由人类可读的可变显示的信息。数组值将以显示键和元素的格式显示。类似的符号用于对象。
例:
$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
)
更多信息
通常, print_r( )
输出更好,更简洁,更易于阅读,也更易于阅读,但无法显示数据类型。
随着print_r()
你也可以存储输出到一个变量:
$output = print_r($array, true);
这var_dump()
是行不通的。还var_dump()
可以显示数据类型。
var_dump(0.0);
哪个输出float(0)
与print_r(0.0);
哪个输出0
(因此会导致类型混淆)...
如果您问什么时候应该使用什么,我通常print_r()
用于显示值以及var_dump()
变量类型何时出现问题。
var_dump
和之间的重大差异print_r
这两个函数都转储有关变量的信息,但是var_dump
会转储多个参数,其中print_r
可以取出两个参数,其中第一个参数是要转储的变量,第二个参数是布尔值。
var_dump
不能返回任何值,它只能转储/打印值,如果我们将第二个参数设置print_r
为true,则print_r可以返回变量信息。返回的值print_r
将为字符串格式。
所打印的信息print_r
以可读格式显示,其中as var_dump
打印原始值。
print_r
函数可以在许多var_dump
可以用于调试目的的环境中使用,主要是因为它不能返回值。
ob_start(); var_dump($var); $dump=ob_get_clean();
var_dump($var)
通过提供以下内容的其他详细信息来显示详细信息
var_dump():-
例子:-
<?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():-
例子:-
<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>
ob_start(); var_dump($var); $dump=ob_get_clean();
print_r()和var_dump()是PHP中用于调试目的的数组调试功能。print_r()函数以Array([key] = value)返回数组键及其成员,而var_dump()函数返回带有数据类型和长度的数组键的数组列表,例如Array(array_length){[0] =字符串(1)'a'}。
我们可以使用var_dump传递多个参数,例如:
var_dump("array1",$array1,"array2",$array2);