Sar*_*raz 347
该var_dump
函数显示有关变量/表达式的结构化信息,包括其类型和值.递归地探索数组,其中值缩进以显示结构.它还显示哪些数组值和对象属性是引用.
该print_r()
约的方式,是由人类可读的可变显示的信息.数组值将以显示键和元素的格式显示.类似的符号用于对象.
例:
$obj = (object) array('qualitypoint', 'technologies', 'India');
Run Code Online (Sandbox Code Playgroud)
var_dump($obj)
将在屏幕下方显示输出.
object(stdClass)#1 (3) {
[0]=> string(12) "qualitypoint"
[1]=> string(12) "technologies"
[2]=> string(5) "India"
}
Run Code Online (Sandbox Code Playgroud)
并且,print_r($obj)
将在屏幕下方显示输出.
stdClass Object (
[0] => qualitypoint
[1] => technologies
[2] => India
)
Run Code Online (Sandbox Code Playgroud)
更多信息
gil*_*ero 54
通常, print_r( )
输出更好,更简洁,更容易阅读,也更人性化但不能显示数据类型.
随着print_r()
你也可以存储输出到一个变量:
$output = print_r($array, true);
Run Code Online (Sandbox Code Playgroud)
哪个var_dump()
做不到.然而,var_dump()
可以显示数据类型.
var_dump
显示有关对象/变量的结构化信息.这包括类型和值.像print_r
数组一样递归并缩进.
print_r
显示人类可读关于与格式呈现为数组和对象键和元素的值的信息.
最值得注意的是var_dump
输出类型和值,而print_r
不是.
It's too simple. The var_dump() function displays structured information about variables/expressions including its type and value. Whereas The print_r() displays information about a variable in a way that's readable by humans.
Example: Say we have got the following array and we want to display its contents.
$arr = array ('xyz', false, true, 99, array('50'));
Run Code Online (Sandbox Code Playgroud)
Array
(
[0] => xyz
[1] =>
[2] => 1
[3] => 99
[4] => Array
(
[0] => 50
)
)
Run Code Online (Sandbox Code Playgroud)
array(5) {
[0]=>
string(3) "xyz"
[1]=>
bool(false)
[2]=>
bool(true)
[3]=>
int(100)
[4]=>
array(1) {
[0]=>
string(2) "50"
}
}
Run Code Online (Sandbox Code Playgroud)
For more details: https://stackhowto.com/how-to-display-php-variable-values-with-echo-print_r-and-var_dump/
var_dump
和之间存在显着差异print_r
这两个函数都转储有关变量的信息,但转储了var_dump
多个将要转储的参数,其中print_r
可以取两个参数,其中第一个参数是要转储的变量,第二个参数是布尔值.
var_dump
不能返回任何值只能转储/打印值,如果我们将第二个参数设置print_r
为true,则print_r可以返回变量信息.返回值print_r
将采用字符串格式.
打印的信息print_r
更多是可读格式,其中var_dump
打印原始值.
print_r
函数可以在许多上下文中var_dump
使用,因为它可以用于调试目的,主要是因为它不能返回值.