1. 程式人生 > >PHP:使用printf()和sprintf()

PHP:使用printf()和sprintf()

一、函式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 連線,如果未規定,則使用上一個連線

        */