PHP:echo、print、print_r 和 var_dump

echo 和 print

echoprint 都不是函数,而是 语言结构,所以圆括号都不是必需的。两者十分相似,功能几乎是完全一样。

1、echo 可以输出多个字符串,使用 , 连接

echo 'a','b','c';

输出:abc

如果你非要加上圆括号,需要注意

echo ('a','b','c');      //错误
echo ('a'),('b'),('c');  //正确

2、print 只能输出一个字符串

print 'a','b','c';  //错误
print 'abc';        //正确
print 'a'.'b'.'c';  //正确

注意:上面的 'a'.'b'.'c' 并不是多个字符串,而是 PHP 中拼接(concat)多个字符串后的一个字符串。

3、echo 没有返回值,print 有返回值 1

因此 print 能用在表达式中:

$ret = print 'abc';
echo $ret + 1;

输出:abc2

4、echo 输出的速度比 print 快

print_r() 和 var_dump()

print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。

print_r() 会舍弃掉小数位末尾的 “0”;布尔值 true 输出 1,false 不输出;空字符串 和 null 不输出。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。

var_dump() 方法是判断一个变量的类型与长度,并输出变量的值和数据类型。var_dump() 输出比 print_r() 更详细,一般调试时用得多。两者区别如下:

$arr = array(5, 5.0, 'hello', '', true, false, null);
var_dump($arr);
print_r($arr);

输出:

array(7) {[0]=>int(5)[1]=>float(5)[2]=>string(5) "hello"[3]=>string(0) ""[4]=>bool(true)[5]=>bool(false)[6]=>NULL
}
Array
([0] => 5[1] => 5[2] => hello[3] => [4] => 1[5] => [6] =>
)

题外:如果想捕捉 print_r() 的输出,可添加一个 true 参数。此时 print_r() 将不打印结果,而是返回其输出。

$str = "hello";
$result = print_r($str, true);
echo $result;

输出:hello

参考

  • php.net: print_r

  • stackoverflow: What's the difference between echo, print, and print_r in PHP?

PHP:echo、print、print_r() 和 var_dump()相关推荐

  1. php print r用法,php中echo(),print(),print_r()用法

    从我对echo(),print(),print_r()这个函数的理解是echo可输入字符串变量常量,print与echo差不多,但print_r可以打印数组而前两者是不可以的,下面我来详细介绍它们三个 ...

  2. php中的print r与echo,php中echo(),print(),print_r()的区别

    echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print()    只能打印出简单类型变量的值(如int,string) print_r() ...

  3. print_r php encode,详细介绍PHP在调试时echo print() print_r() var_dump()的区别分享

    echo 输出一个或多个值(字符串),多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用. 函数print()打印一个 ...

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

    echo可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用.echo是php的内部指令,不是函数, ...

  5. php r echo_PHP中echo(),print(),print_r()的区别是什么?

    四种方法可以输出字符串. echo print() printf() print_r() echo 可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct) ...

  6. PHP中echo(),print(),print_r()的区别是什么?

    四种方法都可以输出字符串. echo print() printf() print_r() 1 echo 可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language constru ...

  7. php 打印函数(echo , print, printf, print_f, var_dump)

    概要 了解php打印函数种类,简单实用以及功能区别 总结各个打印函数的实用场景以及相关最佳实践 函数介绍 1. echo echo用于输出一个或者多个字符串, 不换行 如果输出对象非字符串,会尝试将对 ...

  8. php echo,print,print_r,var_dum的区别

    特点 echo() 可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因不能作为表达式的一部分使用. print() 函数pri ...

  9. PHP语言的输出命令是,PHP echo、print、print_r、var_dump输出语句

    文章目录 前言一.PHP输出语句echo二.PHP输出语句print三.PHP输出语句print_r四.PHP输出语句var_dump五.总结 前言 PHP的输出语句常见的有echo,print,pr ...

最新文章

  1. Python 计算Mesh顶点法向量
  2. 操作系统:用户态和核心态的区别
  3. 怎么创建数据表的实体类和业务类_怎样创建一个网站?
  4. ACM Fellow发文抨击【同行评审】作弊轻松中顶会
  5. Django 【第十九篇】JS实现的ajax、同源策略和前端JSONP解决跨域问题
  6. 变与不变: Undo构造一致性读的例外情况
  7. 1复数与复变函数(一)
  8. 西部数码服务器自动备份,西部数码-云服务器
  9. 计算机基础雨课堂答案,基于“雨课堂”助推大学计算机基础课革新
  10. JavaMail使用阿里云企业版邮箱发送邮件
  11. 平板连接远程Linux,如何从Android平板电脑远程控制Ubuntu | MOS86
  12. JUL、JCL、Log4j、Slf4j各种日志框架的使用
  13. 创始人李卉:麦客CRM2.0核心逻辑及其背后的思考
  14. 对象含有与成员函数不兼容的类型限定符
  15. Altium 拖动已布线的双排焊盘
  16. Evil Corp 团伙开始使用 LockBit Ransomware 逃避制裁
  17. 用python画路飞代码_python 全栈开发,Day105(路飞其他数据库表结构,立即结算需求)...
  18. 计算机有哪些值得参加的比赛
  19. MyBatis逆向工程去除表名前缀
  20. Cisco ❀ MPLS中的路由器角色

热门文章

  1. memmove, memcpy 的mem魔法
  2. linux网络配置答案,Linux网络配置与管理作业3答案.doc
  3. pythonshellnohup_python nohup 实现远程运行不宕机操作
  4. FPGA之道(72)提高设计的综合性能(四)提高设计的移植性与保密性
  5. FPGA之道(58)关于外界接口的编程思路
  6. Activiti工作流从入门到入土:工作流简介
  7. hdoj1175 连连看(dfs+剪枝)
  8. 眉目传情之匠心独运的kfifo【转】
  9. mysql 监控工具
  10. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL,spring获取context...