echo、print和print_r函数区别
1.echo和print的区别
PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但print有返回值,当其执行失败时返回flase。因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1。
$r = print "Hello World";
这意味着print可用在一些复杂的表达式中,而echo则不行。但是,因为echo语句不要求返回任何数值,所已在代码中echo语句的运行效率要略微快于print语句。
echo 没有返回值;print 有返回值,print 的返回值总是1。
2.表达式
print可以用于复杂的表达式,而 echo 不可以,比如 print 可以用于如下示例:
- <html><body><?php$a=true;$a ? print "true":print "false";?></body></html>
3.参数
echo 可以有多个参数,而 print 只能有一个参数。
echo 如果有多个参数,应用逗号分隔,每个参数没有必要加小括号,正确写法如下:
- echo "good ","for ","you";
注意,如果 echo 有多个参数,只用一个小括号将所有参数围起来,是错误的写法。下面的写法是错误的:
- echo ("good ","for ","you");
print 只能有一个参数,比如:
- print ("good for you");
- print "good for you";
echo 和 print 的作用都是输出字符串。echo 和 print 之间主要的区别在于,echo 的速度比 print 快,因为 echo 没有返回值。
4.print_r()函数,只用于输出数组。
php 中 print_r 函数输出的数组内容不排列。为了让它输出的好看些。如,数组有多层。分段列出,我们可以这样写:
- <?php
- $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
- print_r ($a);
- ?>
- </pre>
- The above example will output:
- <pre>
- Array
- (
- [a] => apple
- [b] => banana
- [c] => Array
- (
- [0] => x
- [1] => y
- [2] => z
- )
- )