print_r与var_dump的区别

2018-05-12T10:13:03

echo和print的区别就是print需要加括号:print(xxxxx);
两者都是输出数字、字符串等等,但不能输出结构~

print_r()和var_dump()的区别是:print_r()返回结果,var_dump()返回结果中带有类型
两者都可以输出array、mixed~

①echo:不是一个函数(它是一个语言结构), 因此你不一定要使用小括号来指明参数,单引号,双引号都可以。不能返回值。 另外,如果你想给echo 传递多个参数, 那么就不能使用小括号,用逗号分隔开

echo $myvar1;
echo 1,2,$myvar,"<b>bold</b>";

② print:实际上不是函数(而是语言结构),所以可以不用圆括号包围参数列表,可以返回一个值,只能有一个参数。

③printf:函数,把文字格式化以后输出,如:

$name="hunte";
$age=25;
printf("my name is %s, age %d", $name, $age);

%% - 返回百分比符号
%b - 二进制数
%c - 依照 ASCII 值的字符
%d - 带符号十进制数
%e - 可续计数法(比如 1.5e+3)
%u - 无符号十进制数
%f - 浮点数(local settings aware)
%F - 浮点数(not local settings aware)
%o - 八进制数
%s - 字符串
%x - 十六进制数(小写字母)
%X - 十六进制数(大写字母)

④sprintf:跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样。

⑤print_r:通常用于打印变量的相关信息,通常在调试中使用。

print_r(true);           //输出1
print_r(false);          //没有输出
print_r(null);          //没有输出

⑥var_dump:此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。

var_dump(true); //输出 bool(true)
var_dump(false);   // bool(false)
var_dump(null);   // bool(null)

⑦var_dump()和print_r()的区别:
var_dump返回表达式的类型与值而print_r仅返回结果,相比调试代码使用var_dump更便于阅读。

需要精确调试的时候用 var_dump();一般查看的时候用 print_r()

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合MIP标准。