echo print print_r() var_dump()的区别
echo
- 输出单个字符或者多个字符,多个时使用逗号进行分割。
- 无返回值
<?php
echo "string1","string2";
echo $a,$b;
TIP:
相对echo
中拼接字符串而言,传递多个参数比较好,考虑到了PHP中连接运算符.
的优先级。传入多个参数,不需要圆括号保证优先级
<?php
echo "Sum:",1+2;
echo "HELLO ",isset($name)?$name:"JOHN DOE","!";
如果是拼接的,相对于加号和三目运算符,连接运算符.
具有更高优先级。为了正确性,必须使用圆括号。
<?php
echo "Sum:".(1+2);
echo "HELLO ".(isset($name)?$name:"JOHN DOE")."!";
- 只可以输出单个字符
- 返回
1
,可以用于判断表达式
<?php
print "HELLO";
if(true && print "aaa"){
}
&&
与||
都为短路逻辑符
&&
当第一个为 FALSE 时 跳过后面的条件
||
当第一个为TRUE 时,跳过后面的条件
print_r()
print_r($expr,[,bool $return = FALSE])
- 输出关于变量的易于理解的信息
- 支持多种数据类型,包括字符、数组、对象,格式化成易读格式。
- 输出时不带数据类型。
- 在调试中非常实用。
- 若将第二参数设置为
TRUE
,可将输出的值返回 第二个参数默认为FALSE
var_dump()
- 输出关于变量的易于理解的信息,多个可用
,
分隔。 - 支持多种数据类型,包括字符、数组、对象,格式化成易读格式。
- 输出格式与
print_r()
不同,var_dump()
的输出包含数据类型。 - 在调试时非常有用。
- 无返回值。
TIPS:
即使print可以用于表达式,但这种用法,常常不利于代码的可读性,与其他操作符混用荣誉让人误解。
echo
和print
都是语言结构,print_r()
和var_dump()
是普通函数。
echo
和print
使用时,不需要括号将变量括起来