PHP:echo print var_dump()和print_r()的区别

时间:2022-10-25 12:25:06
echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) 
print只能打印出简单类型变量的值(如int,string) 
print_r可以打印出复杂类型变量的值(如数组,对象) 
echo -- 输出一个或者多个字符串 
Description 
void echo ( string arg1 [, string ...] ) //返回值为空 
echo "你好"," 朋友"; 


print --输出一个字符串 


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)
}