我经常使用echo和print_r,几乎从不使用print。

我觉得echo是一个宏,而print_r是var_dump的别名。

但这不是解释差异的标准方式。


当前回答

print_r()可以打印出值,但如果第二个标志参数被传递并且为TRUE -它将返回打印的结果作为字符串,而不发送到标准输出。 var_dump。如果安装了XDebug调试器,那么输出结果将以更易于阅读和理解的方式格式化。

其他回答

它们都是语言结构。Echo返回void, print返回1。Echo被认为比print稍快。

回音:

它是语句而不是函数 没有返回值

不需要括号

非打印数组

打印

它是实函数

返回类型1

需要括号

非打印数组

Print_r

以人类可读的格式打印

字符串不加引号

不是变量的详细信息,如类型和所有

var_dump

所有变量的转储信息 比如元素和子元素的类型

Echo: Echo是一种不需要使用括号的语言构造,它可以接受任意数量的参数并返回void。

   void echo (param1,param2,param3.....);

   Example: echo "test1","test2,test3";

Print:这是一种不需要使用括号的语言结构,它只接受一个参数并返回

    1 always.

           int print(param1);

           print "test1";
           print "test1","test2"; // It will give syntax error

prinf:这是一个函数,它至少接受一个字符串和格式化样式,并返回输出字符串的长度。

    int printf($string,$s);

    $s= "Shailesh";
    $i= printf("Hello %s how are you?",$s);    
    echo $i;

    Output : Hello Shailesh how are you?
             27



   echo returns void so its execution is faster than print and printf

Print_r()用于以人类可读的格式打印数组。

echo

没有返回类型

print

有返回类型

print_r()

格式化的输出,