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