当前位置: 代码迷 >> PHP >> echo(),print(),print_r(),var_dump()的区别,该怎么处理
  详细解决方案

echo(),print(),print_r(),var_dump()的区别,该怎么处理

热度:390   发布时间:2016-04-29 01:29:22.0
echo(),print(),print_r(),var_dump()的区别
echo(),print(),print_r(),var_dump()的区别

------解决方案--------------------
1.echo
输出一个或者多个字符串。
2.print
和echo一样,速度比echo慢。
3.print_r
打印关于变量的易于理解的信息,如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。 记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。
4.var_dump
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
5.var_dump和print_r的区别
var_dump返回表达式的类型与值而print_r仅返回结果,相比调试代码使用var_dump更便于阅读。
------解决方案--------------------
- 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);

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

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

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

- var_dump
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更便于阅读。
------解决方案--------------------
①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更便于阅读。

------解决方案--------------------
大致区别如楼上各位所说
另外纠正一下 print() 并不是函数 虽然可以带括号并且有返回值
http://docs.php.net/manual/zh/function.print.php
  相关解决方案