实例一:
<?php
$format = '(%1$2d = %1$04b) = (%2$2d = %2$04b)'
. ' %3$s (%4$2d = %4$04b)' . "\n";
$values = array(0, 1, 2, 4, 8);
$test = 1 + 4;
echo "\n Bitwise AND \n";
foreach ($values as $value) {
$result = $value & $test;
printf($format, $result, $value, '&', $test);
}
?>
输出结果:
Bitwise AND |
( 0 = 0000) = ( 0 = 0000) & ( 5 = 0101) | |
( 1 = 0001) = ( 1 = 0001) & ( 5 = 0101) | |
( 0 = 0000) = ( 2 = 0010) & ( 5 = 0101) | |
( 4 = 0100) = ( 4 = 0100) & ( 5 = 0101) | |
( 0 = 0000) = ( 8 = 1000) & ( 5 = 0101) |
分析format的含义,%代表一个参数,数字+$ 是sprintf函数的参数参数占位符,数字+b或d或s,表示什么格式的数据输出的长度,其他普通字符原样输出。
定义和用法
sprintf() 函数把格式化的字符串写写入一个变量中。sprintf(format,arg1,arg2,arg++)
参数 | 描述 |
---|---|
format | 必需。转换格式。 |
arg1 | 必需。规定插到 format 字符串中第一个 % 符号处的参数。 |
arg2 | 可选。规定插到 format 字符串中第二个 % 符号处的参数。 |
arg++ | 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。 |
说明
参数 format 是转换的格式,以百分比符号 ("%") 开始到转换字符结束。下面的可能的 format 值:
- %% - 返回百分比符号
- %b - 二进制数
- %c - 依照 ASCII 值的字符
- %d - 带符号十进制数
- %e - 可续计数法(比如 1.5e+3)
- %u - 无符号十进制数
- %f - 浮点数(local settings aware)
- %F - 浮点数(not local settings aware)
- %o - 八进制数
- %s - 字符串
- %x - 十六进制数(小写字母)
- %X - 十六进制数(大写字母)
arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
提示和注释
注释:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符插到 % 符号后面,由数字和 "\$" 组成。