echo和printf有什么区别?
答案 0 :(得分:7)
主要区别在于printf首先接收一个格式字符串,带有占位符(您看到的那些%符号),甚至可以接受一些格式化参数(例如%2d,它会显示一个数字的2位数)。
相反,Echo只显示字符串。当您执行“$ i bar”时,首先使用$ i的值展开字符串,然后将其发送到要显示的echo函数。
答案 1 :(得分:4)
如果您搜索任何搜索引擎中的差异,您将得到答案。例如,下面是printf的一个用途:
您可以使用此功能格式化数字中的小数位:
$num = 2.12;
printf("%.1f",$num);
prints:
2.1
当然这只是一次使用。我使用的另一个好样本如下:
如果要以“pre”标签,courier字体或其他非可变长度字体(如终端)打印数据,则可以使用printf的对齐功能。
$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";
?>
还有很多其他用法。