原文链接:http://hi.baidu.com/382262106/blog/item/93c7f3df5748b1064854031b.html
printf()函数优点在于可以格式化输出
格式:
%['padding_character][-][width][.precision]type
所有的转换说明都是以%开始,如果想打印一个%符号,必须用%% ;
参数“'padding_character”是可选,它将被用来填充变量直至所指定的宽度,该参数的作用就在变量前面填充,默认的填充字符是一个空格,如果指定“0”或者“ ”(空格),就不需要“'”单引号作为前缀,其他字符就必须指定“'”作为前缀;
参数“-”是可选,它指左对齐,默认是右对齐;
参数“width”是指被替换的变量的长度;
参数“.precision”表示以小数点开始,它指明小数点后要显示的位数;
参数“type”是类型码,请看下表:
类型 | 含义
b | 解释为整数并作为二进制输出
c | 解释为整数并作为字符表示输出(ASCII码)
d | 解释为整数并作为整数输出
f | 解释为双精度并作为浮点数输出
o | 解释为整数并作为八进制数输出
s | 解释为字符串并为字符串输出
u | 解释为整数并作为非指定小数输出
x | 解释为整数并作为带有小写字母a-f的十六进制数输出
X | 解释为整数并作为带有大写字母A-F的十六进制数输出
示例:
$test=array(
'%d'=>100,
'%s'=>'hello world!',
'%b'=>8,
'%o'=>8,
'%x'=>10,
'%X'=>10,
'%c'=>97,
'%.2f'=>1234.343,
'%u'=>1234.343,
'%/'02d'=>'1',//填充
);
foreach($test as $key=>$value){
printf($key,$value);
echo '<br/>';
}
测试结果:
100
hello world!
1000
10
a
A
a
1234.34
1234
01
sprintf()的用法和printf()完全一致,只是sprintf()将返回格式化的结果,并不直接输出结果。