print_r(array('name'=> 'bob', 'age' => 20, 'sex' => 'man'));
然后 :
Array {
[name] => bob,
[age] => 20,
[sex] => man }
var_dump(array('name' => 'bob', 'age' => 20));
将显示:
array(2) {
['name'] => string(3) 'bob'
['age'] => int(20) }
var_dump
非常适合调试,并且比print_r
更好。但是为什么print_r
仍然存在?或print_r
有一些我不知道的优势 最佳答案
print_r
和var_dump
之间的最大区别是print_r
带有可选的第二个参数,它允许您将内容存储在变量中。例如:
$debug = print_r($someArray, true);
echo $debug;
(请注意,这也可以使用output control functions对于
var_dump
实现)此外,
print_r
的可读性远优于var_dump
:var_dump:
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:
Array
(
[a] => apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)