您现在的位置: 365建站网 > 365学习 > PHP中echo print_r和print的用法和区别

PHP中echo print_r和print的用法和区别

文章来源:365jz.com     点击数:168    更新时间:2018-11-07 09:08   参与评论


定义和用法

echo() 函数输出一个或多个字符串。

注释:echo() 函数实际不是一个函数,所以您不必对它使用括号。然而,如果您希望向 echo() 传递一个以上的参数,使用括号将会生成解析错误。

提示:echo() 函数比 print() 速度稍快。

提示:echo() 函数也有简写语法。在 PHP 5.4.0 之前,该语法只适用于 short_open_tag 配置设置启用的情况。

print_r() 函数用于打印变量,以更容易理解的形式展示。


一般来说,PHP中动态输出HTML内容,是通过print 和 echo 语句来实现的,在实际使用中, print 和 echo 两者的功能几乎是完全一样。可以这么说,凡是有一个可以使用的地方,另一个也可以使用。但是,两者之间也还是一个非常重要的区别:在 echo 函数中,可以同时输出多个字符串,而在 print 函数中则只可以同时输出一个字符串。同时,echo函数并不需要圆括号,所以echo函数更像是语句而不像是函数。

echo 和 print 都不是函数,而是语言结构,所以圆括号都不是必需的。

 

实例

实例

<?php

$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));

print_r ($a);

?>


输出结果为:

Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )

)


他们的区别在于:


(1) echo可以输出多个字符串,像下面这样:


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

如果你非要加上圆括号,注意写成echo ('a','b','c');是错误的,应该写成:


echo ('a'),('b'),('c');

它没有像函数的行为,所以不能用于函数的上下文

(2) print只能输出一个字符串,它可以表现得像一个函数,比如你可以如下使用:


$ret = print 'Hello World';

所有它能用在更复杂的表达式中。

另外,echo的效率相对比较快!


看看如下代码:


<?php

$a='hello ';$b='php world!';echo $a,$b.'<br />';//echo 可以用逗号分隔字符串变量来显示

print $a.$b.'<br />';//而print不能使用逗号,只能用点号分隔,

//print $a,$b.'<br />';//这里使用逗号时报错。

?>

分析总结:


echo    命令和print命令相同,没有区别  

echo    函数和print函数有区别。  

echo()    无返回值,与echo命令相同  

print()    有返回值,成功,返1,false,返0.    

printf()    和sprintf()类似,均为格式化输出,不同的是前者输出到标准输出,后者输出到变量 


形如:


echo  <<< EOT 

EOT; 

print  <<< EOT 

EOT; 

 

的书写格式,其含义如下:


<<<    运算符,将由自定义分界符间的内容视为字符串,可对其间的变量做处理  

EOT    自定义分界符,结束时必须位于行首


总结:

print 是打印字符串

print_r 则是打印复合类型 如数组 对象等

在PHP中的执行速率从快到慢为:echo(),   print(),   print_r()

echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)  

print()    只能打印出简单类型变量的值(如int,string)  

print_r() 可以打印出复杂类型变量的值(如数组,对象)  

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


修正:


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

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

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (168人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------