PHP printf() 函数

定义和用法
printf() 函数输出格式化的字符串。

语法
printf(format,arg1,arg2,arg++)参数 描述
format 必需。规定字符串以及如何格式化其中的变量。
arg1 必需。规定插到格式化字符串中第一个 % 符号处的参数。
arg2 可选。规定插到格式化字符串中第二个 % 符号处的参数。
arg++ 可选。规定插到格式化字符串中第三、四等等 % 符号处的参数。

说明
arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
提示和注释
注释:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入 % 符号之后,由数字和 "\$" 组成。请参见例子 3。

注释: 相关函数: fprintf()、 sprintf()、 vfprintf()、 vprintf() 以及 vsprintf()。
例子

例子 1
<?php
$str = "Hello";
$number = 123;
printf("%s world. Day number %u",$str,$number);
?>
输出:

Hello world. Day number 123

例子 2
<?php
$number = 123;
printf("%f",$number);
?>
输出:

123.000000

例子 3
使用占位符:

<?php
$number = 123;
printf("With 2 decimals: %1\$.2f<br />With no decimals: %1\$u",$number);
?>
输出:

With 2 decimals: 123.00
With no decimals: 123

例子 4
使用占位符:

<?php
$num = 123;
$long = 753159852;
$float = 0.45;
$str = "banana";

printf("%%d = %d<br/>",$num);
printf("%%b = %b<br/>",$num);
printf("%%e = %e<br/>",$long);
printf("%%f = %f<br/>",$num);
printf("%%f = %01.2f<br/>",$num);
printf("%%f = %03.5f<br/>",$float);
printf("%%f = %08.4f<br/>",$float);

echo "<br/>";

printf("[%s]<br/>",$str);
printf("[%8s]<br/>",$str);
printf("[%-8s]<br/>",$str);
printf("[%08s]<br/>",$str);
printf("[%'$8s]<br/>",$str);
?>
输出:
%d = 123
%b = 1111011
%e = 7.531599e+8
%f = 123.000000
%f = 123.00
%f = 0.45000
%f = 000.4500

[banana]
[ banana]
[banana ]
[00banana]
[$$banana]