printf("%s","13g2sadf"); echo "<br>"; //直接输出 printf("%d","17,999"); echo "<br>"; printf("%.02lf\n", 1.035); printf("%.03lf\n", 1.0359); echo "<br>"; printf("$%.2f", 143.2); echo "<br>"; //把格式化的结果,存放在$res 中 $res=sprintf("%-01.2f",1433); echo $res;
printf 与 sprintf 两个函数最大的不同就是 sprintf 是将格式化后的结果返回的
printf 直接打印出来
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
转换字符
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
% 印出百分比符号,不转换。
b 整数转成二进位。
c 整数转成对应的 ASCII 字元。
d 整数转成十进位。
f 倍精确度数字转成浮点数。
o 整数转成八进位。
s 整数转成字串。
x 整数转成小写十六进位。
X 整数转成大写十六进位。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
再次说明下:
$header .= sprintf('%08x', 0); //reserved
解释:把第二个参数解析成十六进制的字符,如果位数不足,则使用0 补足。
echo sprintf('%08x', 11123123);
结果:00a9b9b3
怎么变化都不会超过我们指定的位数 8位
这是什么意思?
%s:字符串
%d %i:数字 整形
%f:浮点
%u:十进制值
%c:单个字符
//字符、
\n:换行
\r:回车
\f:清屏并换页
\t:Tab换行符号
\xhh:表示一个ASCCII码用16进制来表示
//直接输出 printf("%d",144); //保存在变量$res中 $res=printf("%d",144); echo $res;