var_dump()和print_r()在输出字符串数组方面有什么区别?


当前回答

Var_dump()将向您显示对象的类型以及其中的内容。

你会得到=> (string)示例如下。

Print_r()只输出内容。

示例如下:

其他回答

Var_dump ($var)通过提供

值的数据类型(包括后代元素) 变量中的元素数 值的长度

通常,print_r()输出更好,更简洁,更容易阅读,也就是更易于人类阅读,但不能显示数据类型。

使用print_r(),你也可以将输出存储到一个变量中:

$output = print_r($array, true);

这是var_dump()无法做到的。然而var_dump()可以显示数据类型。

如果您问什么时候应该使用什么,我通常使用print_r()来显示值,使用var_dump()来处理变量类型的问题。

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
)

更多信息

var_dump print_r

Var_dump显示关于对象/变量的结构化信息。这包括类型和值。像print_r一样,数组是通过递归和缩进的。

Print_r显示关于值的人类可读信息,其格式显示数组和对象的键和元素。

需要注意的最重要的事情是var_dump将输出类型和值,而print_r则不会。