一、函数printf()不仅可以显示文本,还可以设置输出的格式。
该函数的定义如下:
printf(string format, [mixed arguments]);
格式参数format是由直接文本变量和特殊格式参数组成的字符串。特殊格式由百分号(%)开始,其后可以有多种组合,如下所示:
1.符号说明符(+/-)可以强制使正数前面加一个符号
2.填充说明符表示用于右填充的字符(默认空格)
3.对齐说明符(默认右对齐,使用减号(-)可以实现左对齐)
4.一个数字,表示要占用的最小宽度
5.精度说明符,表示浮点数应该显示小数后的多少位
6.类型说明符,见表
字符 | 含义 | 字符 | 含义 |
b | 二进制数 | f | 浮点数 |
c | 按照ASCLL值的字符 | o | 八进制数 |
d | 带符号十进制数 | s | 字符串 |
e | 科学计数法 | x | 十六进制数 |
u | 无符号十进制数 |
printf('b: %b <br>c: %c <br>d: %d<br>f: %f<br>e: %s', 80, 80, 80, 80, 'hello');
输出结果:
二、函数sprintf()的工作原理和printf()几乎一样,只是它不显示格式化的字符串,而是返回它。它非常适合于生成数数据库查询语句,从而避免SQL与变量混合。
示例程序:
$example_id = 10.0;
$content = "\KBen2016";
$sql = sprintf("INSERT INTO TABLE example_tb(id,content) VALUES (%d, '%s')",$example_id, mysql_real_escape_string($content));
echo $sql;
输出结果:
当我们使用sprintf()函数的时候,就不再需要反复地使用混杂着SQL命令和变量的方式来创建SQL语句了。
注:
/*
*mysql_real_escape_string()函数转义SQL语句中的特殊字符,/如果成功,则该函数返回被转义的字符串,如果失败,则返回false
*mysql_real_escape_string(string, connection)
*string 为必需参数,规定要转义的字符
*connection 为可选参数,规定MYSQL 连接,如果未规定,则使用上一个连接
*/