首先说下相同点

  • 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

 多个逗号分隔不同

$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,因为它简单方便速度快。对于面试只需要记住它们的区别即可。