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

超级大笨狼 2012-04-25 11:15:22
echo(),print(),print_r(),var_dump()的区别
...全文
486 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
代码如诗 2012-04-25
  • 打赏
  • 举报
回复
大致区别如楼上各位所说
另外纠正一下 print() 并不是函数 虽然可以带括号并且有返回值
http://docs.php.net/manual/zh/function.print.php
梦游 2012-04-25
  • 打赏
  • 举报
回复
①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更便于阅读。
代码如诗 2012-04-25
  • 打赏
  • 举报
回复
echo(),print() 是语言结构
print_r(),var_dump() 是函数
楼下接着补充
一线码农 2012-04-25
  • 打赏
  • 举报
回复
- 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更便于阅读。
zhang6236872 2012-04-25
  • 打赏
  • 举报
回复
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更便于阅读。
zhang6236872 2012-04-25
  • 打赏
  • 举报
回复
echo是PHP语句,print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
print只能打印出简单类型变量的值(如int,string)
print_r可以打印出复杂类型变量的值(如数组,对象)
伴老思源 2012-04-25
  • 打赏
  • 举报
回复
echo和print的区别就是print需要加括号:print(xxxxx);
两者都是输出数字、字符串等等,但不能输出结构~


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

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧