轻松玩转printf()

简单的说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);