-2

echo 和 printf 有什么区别?

4

2 回答 2

9

主要区别在于 printf 首先接收带有占位符的格式字符串(您看到的那些 % 符号),甚至可以接受一些格式参数(例如 %2d,它将显示 2 位数字)。

相反,Echo 只是显示字符串。当你做"$i bar" 时,字符串首先用$i 的值展开,然后发送到echo 函数来显示。

于 2013-03-02T22:33:23.077 回答
4

如果您在任何搜索引擎中搜索差异,您就会得到答案。例如下面是 printf 的一种用法:

您可以使用此函数来格式化数字中的小数位:

$num = 2.12; 
printf("%.1f",$num); 

prints: 

2.1 

当然,这只是一种用途。我使用的另一个很好的示例如下:

如果您以“pre”标签、courier 字体或其他非可变长度字体(如终端)打印数据,您可能需要使用 printf 的 justify 功能。

$value1 = "31298";
$value2 = "98";

print "<pre>\n";
printf ("%'.-15.15s%'.6.6s\n", $heading1, $value1);
printf ("%'.-15.15s%'.6.6s\n", $heading2, $value2);
print "</pre>\n";
?>

还有很多其他用法。

于 2013-03-02T22:31:03.700 回答