var_dump()和print_r()在输出字符串数组方面有什么区别?
当前回答
Var_dump ($var)通过提供
值的数据类型(包括后代元素) 变量中的元素数 值的长度
其他回答
如果您问什么时候应该使用什么,我通常使用print_r()来显示值,使用var_dump()来处理变量类型的问题。
Var_dump ($var)通过提供
值的数据类型(包括后代元素) 变量中的元素数 值的长度
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
通常,print_r()输出更好,更简洁,更容易阅读,也就是更易于人类阅读,但不能显示数据类型。
使用print_r(),你也可以将输出存储到一个变量中:
$output = print_r($array, true);
这是var_dump()无法做到的。然而var_dump()可以显示数据类型。
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 (): -
打印关于变量的人类可读信息。 不显示变量中的元素数,如var_dump()。 不显示变量中的变量长度为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>