首先说下相同点
- echo和print都是语句,都是用来输出字符串。
- echo和print都可以带括号和不带括号。
然后说下不同点
- echo没有返回值,print总是返回1。
- echo比print的速度更快。
- echo可以用多个逗号分隔的字符串,print不能。
下面举例说明这些不同点。
返回值不同
echo不返回任何值,如果我们强加一个返回值这会报错。
<?php
$lang = "PHP";
$ret = echo $lang." 是一种开发语言.";
echo "</br>";
echo "php print 语法返回值是: ".$ret;
?>
输出Parse error: syntax error, unexpected 'echo' (T_ECHO) in D:\phpstudy_pro\WWW\p1.php on line 3
正如我们已经讨论过的,print 返回一个值,该值始终为 1。
<?php
$lang = "PHP";
$ret = print $lang." 是一种web开发语言.";
print "</br>";
print "print返回值是: ".$ret;
?>
输出PHP 是一种web开发语言.
print返回值是: 1
print返回值是: 1
多个逗号分隔不同
$first_name = "张";
$last_name = "三";
echo "我的名字是: ".$first_name,$last_name ;
?>
输出:
我的名字是: 张三
从结果可以看出echo 的输出值可以用多个逗号分隔的字符串。
接下来将echo换成print。
<?php
$first_name = "张";
$last_name = "三";
print "我的名字是: ".$first_name,$last_name ;
?>
输出PHP Parse error: syntax error, unexpected ',' in
显然,print不可用多个逗号分隔的字符串,否则会报错。
总结
开发中尽量使用echo,因为它简单方便速度快。对于面试只需要记住它们的区别即可。