echo(),print(),print_r(),var_dump()的区别

来源:互联网 发布:淘宝加入ifashion 编辑:程序博客网 时间:2024/05/16 04:21
echo是PHP语句,print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) 
print只能打印出简单类型变量的值(如int,string) 
print_r可以打印出复杂类型变量的值(如数组,对象)
【有奖活动】IT部门预算为什么总是不够用?算算你的隐形成本!
对我有用[1] 丢个板砖[0] 引用 | 举报 | 管理
#2 得分:5回复于: 2012-04-25 11:19:41
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更便于阅读。
CSDN投诉事项说明
对我有用[1] 丢个板砖[0] 引用 | 举报 | 管理
#3 得分:5回复于: 2012-04-25 11:21:12
- 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更便于阅读。
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
#4 得分:0回复于: 2012-04-25 11:22:12
echo(),print() 是语言结构
print_r(),var_dump() 是函数
楼下接着补充
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
#5 得分:5回复于: 2012-04-25 11:22:53
 ①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更便于阅读。
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
#6 得分:5回复于: 2012-04-25 11:41:05
大致区别如楼上各位所说
另外纠正一下 print() 并不是函数  虽然可以带括号并且有返回值
http://docs.php.net/manual/zh/function.print.php
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
#7 得分:0回复于: 2012-04-25 13:33:06
echo和print的区别就是print需要加括号:print(xxxxx);
两者都是输出数字、字符串等等,但不能输出结构~


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