echo、print、print_r、var_dump 区别
echo
- 输出单个或多个字符,多个使用逗号分隔
- 无返回值
echo "String 1", "String 2";
- 只可以输出单个字符
- 返回
1
,因此可用于表达式
print "Hello";
if ($expr && print "foo") {}
print_r
- 输出关于变量的易于理解的信息
- 支持多种数据类型,包括字符、数组、对象,格式化成易读格式
- 在调试时非常有用
- 若设置第二个参数,可将输出值返回(而不直接输出)
$b = [
'm' => 'monkey',
'foo' => 'bar',
'x' => ['x', 'y', 'z'],
];
$results = print_r($b, true); //$results 包含了 print_r 的输出
var_dump
- 输出关于变量的易于理解的信息,多个可用分号分隔
- 支持多种数据类型,包括字符、数组、对象,格式化成易读格式
- 输出格式与
print_r
不同,var_dump
的输出包含数据类型
- 在调试时非常有用
- 无返回值
注意
- 即使
print
可用于表达式,但这种用法,常常不利于代码可读性,与其他操作符混用容易让人误解 -
echo
和print
都是语言结构,print_r
和var_dump
是普通函数。echo
或print
使用时,不需要使用括号将变量括起来
《echo、print、print_r、var_dump区别》 原文链接:https://blog.maplemark.cn/2019/04/echo-print-print_r-var_dump区别.html