格式如下:%['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的十六进制数输出
演示:
---------------------------------------------------------------------------------------------
<?PHP
$str = 0758 jian;
$strA = A;
$strB = B;
$num1 = 5;
$num2 = 5;
$num3 = 0.25;
$num4 = 3.2567;
$num5 = 8;
$num6 = 1.735;
$num7 = 16777215;
$num8 = 16777215;
printf(%2$s %1$s,$strA,$strB); // 2$是指定参数位置
echo '<br />';
printf(填充: %'%10s,$str); //指定填充符为%字符串宽度为10
echo '<br />';
printf(二制制: %b,$num1);
echo '<br />';
printf(ASCII码: %c,$num2);
echo '<br />';
printf(整数: %d,$num3);
echo '<br />';
printf(浮点数: %.2f,$num4);
echo '<br />';
printf(八进制: %o,$num5);
echo '<br />';
printf(字符串: %s,$str);
echo '<br />';
printf(非小数: %u,$num6);
echo '<br />';
printf(十六进制: %x,$num7);
echo '<br />';
printf(十六进制: %X,$num8);
?>
---------------------------------------------------------------------------------------------
输出结果:
---------------------------------------------------------------------------------------------
B A
填充: %0758 jian
二制制: 101
ASCII码:
整数: 0
浮点数: 3.26
八进制: 10
字符串: 0758 jian
非小数: 1
十六进制: ffffff
十六进制: FFFFFF