echo 是命令,不能返回值。echo后面可以跟很多个参数,之间用分号隔开,如:

echo $myvar1;   
echo 1,2,$myvar,"bold";   

print 是函数,可以返回一个值,只能有一个参数。

printf 函数,把文字格式化以后输出,如:

$name="hunte";   
$age=25;   
printf("my name is %s, age %d", $name, $age);   

sprintf 跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样。

可以理解为printf和sprintf带格式化功能,而echo和print不带格式化功能。