printf():输出格式化字符,将参数值依次填充到指定字符串中
vprintf():输出格式化字符,将变量中的值依次填充到指定字符串中
sprintf():格式化字符串,将参数值依次填充到指定字符串中,不输出
vsprintf():格式化字符串,将数组中的值依次填充到指定字符串中,不输出
fprintf():格式化字符串,将参数值依次填充到指定字符串中并写入文件,不输出
vfprintf():格式化字符串,将数组中的值依次填充到指定字符串中并写入文件,不输出
$id = 012;
$name='张三';
$str = sprintf("%s的编号是%'010u",$name,$id);//%'010u %10u:(变量最小宽度)正整数保留10位,'0和0效果一样:不够将用0填充
echo $str,'<br/>';//张三的编号是0000000010
$money = 1542525.45651;
$str1 = sprintf("今年预计公司盈利%.2f元",$money);//%.2f 浮点型数保留两位小数 ,如果不指定.2,则保留小数点后6位,不足补0
echo $str1,'<br/>';//今年预计公司盈利1542525.46元
//占位符的使用 \$
$number = 123;
$str2 = sprintf("带有两位小数:%1\$.2f<br/>带一位小数:%1\$.1f<br/>不带小数:%1\$u",$number);//1\$表示占位符1
echo $str2,'<br/>';
当在%s中指定点后面的数字时,表示字符串最大长度:%5.5s
- %% - 返回一个百分号 %
- %b - 二进制数
- %c - ASCII 值对应的字符
- %d - 包含正负号的十进制数(负数、0、正数)
- %e - 使用小写的科学计数法(例如 1.2e+2)
- %E - 使用大写的科学计数法(例如 1.2E+2)
- %u - 不包含正负号的十进制数(大于等于 0)
- %f - 浮点数(本地设置)
- %F - 浮点数(非本地设置)
- %g - 较短的 %e 和 %f
- %G - 较短的 %E 和 %f
- %o - 八进制数
- %s - 字符串
- %x - 十六进制数(小写字母)
- %X - 十六进制数(大写字母)
附加的格式值。必需放置在 % 和字母之间(例如 %.2f):
- + (在数字前面加上 + 或 - 来定义数字的正负性。默认情况下,只有负数才做标记,正数不做标记)
- ' (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。例如:%'x20s(使用 "x" 作为填充))
- - (左调整变量值)
- [0-9] (规定变量值的最小宽度)
- .[0-9] (规定小数位数或最大字符串长度)