echo,print,print_r,var_dump区别
  • print只能接收一个字符串;print有返回值1(可在表达式中使用)

    e.g print 'string 1'

    e.g if($exp && print 'foo')

  • echo可以通过分号连接,接收一个或多个字符串;echo没有返回值;

    e.g. echo "string 1","string2"

  • print_r接收一个值,输出该值的可读性值(值不仅可以是字符串,也可以是其他任意类型);有返回值;

  • var_dump通过分号连接,接收一个或对多个值(值不仅可以是字符串,也可以是其他任意类型);没有返回值;

  • echo与print是数据结构,后面可以不加括号(加也没问题),print_r与var_dump是函数,后面必须加括号;

    echo,print后面只能跟值为字符串的变量和双引号字符串(print接收一个,echo可以接收多个)

    print_r,var_dump可以接受任意类型的值(print_r接收一个,var_dump可以接收多个)

  • 综上所述,一般多用echo打印支付串,var_dump打印任意值(print_r不返回类型,所以var_dump要完善一些),比如:


$val = array(0,0.0,false,'');
print_r($val);//输出 Array ( [0] => 0 [1] => 0 [2] => [3] => )
var_dump($val);//输出array(4) { [0]=> int(0) [1]=> float(0) [2]=> bool(false) [3]=> string(0) "" }

还有var_export,我没有深入看,以后有时间再研究。

参考原文链接

php中print、echo、print_r、var_dump的区别的更多相关文章

  1. php调试时echo,print_r(),var_dump()的区别

    简单说: var_dump() 能打印出类型 print_r() 只能打出值echo() 是正常输出... 需要精确调试的时候用 var_dump();一般查看的时候用 print_r() 另外 , ...

  2. echo,die(),print(),print_r(),var_dump()的区别

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

  3. php输出语句 echo print printf print_r var_dump sprintf

    php的几种输出方式: echo 常用的输出语句,例如:echo 'helloworld!'; print() 输出语句,有返回值.例如:print('helloworld!'); 输出成功返回1,失 ...

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

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

  5. echo(),print(),print_r(),var_dump的区别?

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

  6. 日常基础—————echo,print,print_r,var_dump的区别

    1.echo   函数输出一个或多个字符串. 代码: header("Content-Type:text/html; charset=utf-8"); echo "你好” ...

  7. echo、print、print_r之间的区别

    echo php语句:可以一次输出多个值,多个值之间用逗号隔开:没有返回值,输出标量的值.print 函数:只能打印简单类型变量的值(标量,如int,string),返回值为布尔型print_r 函数 ...

  8. php中echo(),print(),print_r(),var_dump()间的区别

    echo()函数:输出一个或多个字符串.实际上它并不是一个函数,所以不必对它使用括号,直接用echo就行.然而,如果您希望向echo()传递一个以上的参数,使用括号将会生成解析错误.echo()函数比 ...

  9. php输出echo、print、print_r、printf、sprintf、var_dump的区别比较

    本篇文章是对php输出echo.print.print_r.printf.sprintf.var_dump的区别进行了详细的分析介绍,需要的朋友参考下     用.net开发已经5年了,最近突然想接触 ...

随机推荐

  1. java对象深度拷贝

    如何利用序列化来完成对象的拷贝呢?在内存中通过字节流的拷贝是比较容易实现的.把母对象写入到一个字节流中,再从字节流中将其读出来,这样就可以创建一个新的对象了,并且该新对象与母对象之间并不存在引用共享的 ...

  2. js插入HTML代码,渲染页面

    <style>td{border:solid 1px #000;}</style> <table><tr id="data_list"&g ...

  3. 使用本机IP调试web项目

    1.查看本机IP 使用命令行查看本机ip地址: cmd 进入命令行  Ipconfig 查询本机ip. 2.找到启动项目的配置文件  启动IIS查找配置文件的位置 点击显示所有应用程序   3.修改项 ...

  4. python模块part1

    一.时间模块 1.时间表示形式 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串:(1)时间戳(timestamp) :通常来说,时间戳表示的是 ...

  5. JAVA如何request没有参数的post提交

    过去做网页的时候 post过来的值都是带参的 我就request.getParameter("")来获取 现在过来的不带参 就一串字符串 我应该怎么获取? //用获取数据流的方式, ...

  6. JS 跳出多重循环

    今天学到了如何跳出多重循环

  7. [树组BIT]训练两题重新理解ver.

    树状数组重(jiao)新(wo)理(zuo)解(ren) POJ-2352 加加加都给我加 输入是一行一行按照x从小到大给出的,所以对于每个点,要考虑的只是x比它小的点的个数.即记录各个x的情况,并且 ...

  8. vue中父子组件的通信

    1.父组件向子组件传递数据 父组件传递:data = parent.data 子组件接收props: {data:{}} 2.子组件向父组件传递数据(https://vuefe.cn/v2/guide ...

  9. [图形学] B样条曲线 - 原理和C++实现的演示程序(附源码)

    http://blog.csdn.net/mahabharata_/article/details/71856907 大二的时候,曾受老师所托,用C++而不是OpenGL去写B样条曲线的教学程序.时隔 ...

  10. java基础3(二)

    基础加强 类加载器 A.类加载器获取classpath下任意内容 注意: 可以通过ClassLoader可以获取classpath下的所有内容. SpringMVC 1.整体架构 流程图 2.流程细节 ...