PHP的print(),printf(),sprintf(),看上去挺像的,假如让你说他们功能,肯定所有人都知道,但是还是有些细微的差别,这边把他们放在一起学习下。

print()

print与echo相同是一种语言结构,并不是函数,有没有括号都可以使用的。

print输出会返回1

echo 只会输出,并不返回值,所以速度会更快点

printf()

printf()是输出格式化的字符串,但是会返回格式化字符串的长度。

sprintf()

sprintf()格式化字符串,返回格式化后的字符串。

我们看个示例对比下:

<?php
$a = printf('hello');
$b = print('hello');
$c = sprintf("Hello world! My is %s!",'vilay');
echo '<br>';
var_dump($a);
echo '<br>';
var_dump($b);
echo '<br>';
var_dump($c);
echo '<br>';

结果:

hellohello
int(5) 
int(1) 
string(25) "Hello world! My is vilay!" 

print(),printf()都会输出,sprintf()只格式化数据。 printf()返回格式化字符的长度,print()返回1,sprintf()返回格式化之后的数据据