PHP:使用printf()和sprintf()
阿新 • • 發佈:2019-01-10
一、函式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 連線,如果未規定,則使用上一個連線
*/