var_dump()和print_r()在输出字符串数组方面有什么区别?
当前回答
这太简单了。var_dump()函数显示关于变量/表达式的结构化信息,包括其类型和值。而print_r()以人类可读的方式显示关于变量的信息。
示例:假设我们有以下数组,我们想显示它的内容。
$arr = array ('xyz', false, true, 99, array('50'));
print_r()函数-显示人类可读的输出
Array
(
[0] => xyz
[1] =>
[2] => 1
[3] => 99
[4] => Array
(
[0] => 50
)
)
var_dump()函数-显示值和类型
array(5) {
[0]=>
string(3) "xyz"
[1]=>
bool(false)
[2]=>
bool(true)
[3]=>
int(100)
[4]=>
array(1) {
[0]=>
string(2) "50"
}
}
详情请访问: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可以主要用于调试目的,因为它不能返回值。
Var_dump()将向您显示对象的类型以及其中的内容。
你会得到=> (string)示例如下。
Print_r()只输出内容。
示例如下:
print_r()和var_dump()是PHP中用于调试目的的数组调试函数。print_r()函数返回数组键及其成员为array ([key] = value),而var_dump()函数返回数组列表及其数据类型和长度的数组键,例如array (array_length){[0] = string(1)'a'}。
对于大型数组,print_r显示的信息可能远远超出有用的范围。您可以像这样截断它,显示前2000个字符或任何您需要的字符。
echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";
Var_dump显示关于对象/变量的结构化信息。这包括类型和值。像print_r一样,数组是通过递归和缩进的。
Print_r显示关于值的人类可读信息,其格式显示数组和对象的键和元素。
需要注意的最重要的事情是var_dump将输出类型和值,而print_r则不会。