本文作者:心月

php中echo,print,print_r,var_dump之间的区别

心月IT博客 01-15
php中echo,print,print_r,var_dump之间的区别摘要:echo、print 是 php 语句,var_dump 和 print_r 是函数,print 、print_r 有返回值;echo、var_dump 没有返回值。

1、echo

        echo — 输出一个或多个字符串

形式:

echo ( string $arg1 [, string $... ] ) : void

        输出所有参数。不会换行。

        echo 不是一个函数(它是一个语言结构), 因此你不一定要使用小括号来指明参数,单引号,双引号都可以。 echo (不像其他语言构造)不表现得像一个函数, 所以不能总是使用一个函数的上下文。 另外,如果你想给echo 传递多个参数, 那么就不能使用小括号

【echo 也有一个快捷用法,你可以在打开标记前直接用一个等号。在 PHP 5.4.0 之前,必须在php.ini 里面启用 short_open_tag 才有效。】

I have <?=$foo?> foo.

        echo 和 print 最主要的不同之处是, echo 接受参数列表,并且没有返回值。

QQ截图20200115145836.jpg

echo 没有返回值,所以用参数接收它的输出结果时会报错。

        但它可以同时输出多个变量:

QQ截图20200115150200.jpg


2、print

        print — 输出字符串

形式:

print ( string $arg ) : int

        print 实际上不是函数(而是语言结构),所以可以不用圆括号包围参数列表。

        print 和 echo 最主要的区别: print 仅支持一个参数,并总是返回 1。

如果用print输出多个变量时会报错:

20200115_1579071817446714.jpg

print有返回值,且返回值总是1:

QQ截图20200115150649.jpg

3、print_r

        print_r — 以易于理解的格式打印变量

形式:

print_r ( mixed $expression [, bool $return = FALSE ] ) : mixed

        print_r() 以人类易读的格式显示一个变量的信息。

        print_r()、 var_dump()都会显示对象 protected 和 private 的属性。 Class 的静态属性(static) 则不会显示。

        当第二个参数设置为 TRUE 时,print_r() 会直接返回信息,而不是输出。

QQ截图20200115151516.jpg

返回值:

        如果输入的内容是 string、 integer 或 float,会直接输出值本身。 如果输入的内容是 array,展示的格式会显示数组的键和包含的元素。object 也类似。

QQ截图20200115152006.jpg


4、var_dump

        var_dump — 打印变量的相关信息

形式:

var_dump ( mixed $expression [, mixed $... ] ) : void

        此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。var_dump 没有返回值

QQ截图20200115151817.jpg

文章版权及转载声明:

本文由 心月IT技术博客 博主整理于 01-15
若转载请注明原文及出处:https://www.xinyueseo.com/other/600.html

分享到:
赞(
发表评论
快捷输入:

验证码

    评论列表 (有 0 条评论,人围观)参与讨论