echo、print、print_r、var_dump 区别

echo

  • 输出单个或多个字符,多个使用逗号分隔
  • 无返回值
echo "String 1", "String 2";
copy

print

  • 只可以输出单个字符
  • 返回1,因此可用于表达式
print "Hello";
if ($expr && print "foo") {}
copy
  • 输出关于变量的易于理解的信息
  • 支持多种数据类型,包括字符、数组、对象,格式化成易读格式
  • 在调试时非常有用
  • 若设置第二个参数,可将输出值返回(而不直接输出)
$b = [
    'm' => 'monkey',
    'foo' => 'bar',
    'x' => ['x', 'y', 'z'],
];
$results = print_r($b, true); //$results 包含了 print_r 的输出
copy

var_dump

  • 输出关于变量的易于理解的信息,多个可用分号分隔
  • 支持多种数据类型,包括字符、数组、对象,格式化成易读格式
  • 输出格式与print_r不同,var_dump的输出包含数据类型
  • 在调试时非常有用
  • 无返回值

注意

  • 即使print可用于表达式,但这种用法,常常不利于代码可读性,与其他操作符混用容易让人误解
  • echoprint都是语言结构,print_rvar_dump是普通函数。echoprint使用时,不需要使用括号将变量括起来

《echo、print、print_r、var_dump区别》 原文链接:https://blog.maplemark.cn/2019/04/echo-print-print_r-var_dump区别.html