简单的说printf可以按指定的格式输出变量,在需要将多个变量按指定格式进行输出时,相对于intval()等转换函数更加优雅,仅此而已.
首先我们看看这个函数的语法
语法
printf(format,arg1,arg2,arg++)
参数
format必需。规定字符串以及如何格式化其中的变量。
arg1必需。规定插到格式化字符串中第一个 % 符号处的参数。
arg2可选。规定插到格式化字符串中第二个 % 符号处的参数。
arg++可选。规定插到格式化字符串中第三、四等等 % 符号处的参数。
说明
arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
别被唬住,很简单,第一个参数是格式,后面按顺序无限追加变量就是了
比如:
$num = 100; $str = '呵呵'; printf("%d只程序猿 说:%s",$num,$str); //格式均以%开头,第一个参数为整型,第二个参数为字符串
常用格式
%d 十进制整型
%f 浮点 (%.Nf 保留N位小数)
%s 字符串
其他格式还有:
%b 二进制数
%c 依照ASCII值的字符
%e 可续计数法
%u 无符号十进制整型
%F (non-locale aware非本地化识别)也就是会按照老美的浮点格式输出,而不会根据系统当前地区的浮点格式输出
%g shorter of %e and %f.
%G shorter of %e and %f.
%o 八进制数
%x 十六进制数(小写)
%X 十六进制数(大写)
OK到这里咱们大概就会用了,当前还有一些更有趣的技巧,我们接着掰:
万一我们把参数顺序弄错了,肿么办?
我们可以用%N指定第几个参数,然后用\$代替%,如:
$num = 100; $str = '呵呵'; printf("%2\$d只程序猿 说:%1\$s",$str,$num);