PHP调试时用print_r()和var_dump()的区别

print_r()结构智能地显示传递给它的东西,而不像echo 和print()那样将所有的东西都转换成字符串.字符串和数字都被简单地输出.数组以括起来的键和值的列表形式表示.以Array开头:

$arr = array('name'=> 'bob','age' => 20, 'sex' => 'man');

print_r($arr);

输出形如:

Array
{
     [name] => bob,

     [age] => 20,

     [sex] => man
}

但对,用print_r()来显示布尔值和NULL是没有意义的:

如:

print_r(true);           //输出1

print_r(false);          //没有输出

print_r(null);          //没有输出

因此,调试的时候用var_dump()比print_r()更好.var_dump()函数用适合阅读的格式显示任何PHP值:

var_dump(true); //输出 bool(true)

var_dump(false);   // bool(false)

var_dump(null);   // bool(null)

var_dump(array('name' => 'bob', 'age' => 20));

array(2) {
    ['name'] => string(3) 'bob'
    ['age'] => int(20)
}

相关阅读tag

每日推荐

情感美文tag

图集推荐