php函数printf( ) 和spritf( )

printf( )

使用printf() 来处理更为复杂的情况,不仅用来显示文本,也能设置输出的格式。

printf(string formart [,mixed arguments]);

格式参数 format 是由直接文本变量和特殊格式参数组成的字符串。特殊格式参数由%开始

符号说明符(+/-)可以强制使正数前面添加一个加号

填充说明符表示用于右填充的字符

对齐说明符(默认是右对齐 可使用-来实现左对齐)

一个数字用来表示要占用的最小宽度

精度说明符:表示浮点数应该显示小数点后的多少位(或者字符串里的多少个字符)

字符

含义

字符

含义

b

二进制数

o

8进制数

c

依照ASCII值的字符

s

字符串

d

带符号的10进制整数

x

16进制数

e

科学计数法

u

无符号10进制数

f

浮点数

echo '
'; printf('b:%b
c:%c
d:%d
e:%e
f:%0.2f
o:%o
x:%x
',10,80,'10',1.228,3,10,10); echo '
’;

b:1010 c:P d:10 e:1.228000e+0 f:3.00 o:12 x:a

sprintf( )

sprintf( )函数的工作原理和printf( )几乎完全一样。但是它不是显示格式化的字符串而是返回它。这个函数非常适合生成数据库查询语句 从而避免在代码中非常丑陋的使用SQL 与变量

$parentid = 10; $task = "I need works"; $sql = sprintf("INSERT INTO tasks(parentid,task)VALUES(%d,'%s')",$parentid,$task); //结果 INSERT INTO tasks(parentid,task)VALUES(10,'I need works')

如果要是想在字符串中使用%符号,需要再多添加一个%对其进行转义:%%
*vprintf( )
*
vprintf( ‘%0.2f’,array(1)) 只接受2个参数

Hibbs

0