PHP printf 函數

PHP printf 函數的主要功能是用來將某個或某幾個新的字串,插入到某個原始字串中,並格式化後直接輸出,在修改字串時是非常好用的函數,而且 PHP printf 函數不像 sprintf 函數要搭配 echo 或 print 才能輸出字串,printf 函數可以自己輸出格式化完成的字串,這在範例中呈現出來,另外,PHP printf 函數還可以用來處理浮點數,控制浮點數的小數位數,功能相當強大。

PHP printf 函數語法規則
string printf ( string $format , $args1 , $args2 , $args3 , $arg4 , $arg5 ... )
PHP printf 函數有一個主要的字串參數以及一大堆要準備插入字串的新字符,第一個參數 $format 是指原始的字串,接著一大堆的 $arges 就是要插入到 $format 的新字符,printf 函數會把每個 $arges 根據設定的格式化規則與原始字串組合為一個新的字串再輸出。

關於 $arges 的格式化有許多種寫法,請參閱 Wibibi 所提供的《PHP sprintf 函式》參數表。

PHP printf 函數應用範例一、基本的插入字串並格式化輸出
範例輸出結果
這裡是字串: string,這裡是浮點數: 5.000000,這裡是整數: 5
範例一先準備了一個字串($string)以及一個數字($number),我們要將這兩個變數透過 printf 函數插入到一個字串中,而且每個字串都要格式化,來看看 printf 這一行,我們直接把原始字串內容寫在 printf 的第一個參數位置,後面依序把 $string、$number、$number 填入,這三個變數就會根據 printf 第一個參數內的字串所使用的格式化規則進行格式化,並重新組成一個新的結果,稍微說明一下格式化的規則。
  • %s 表示要格式化為字串
  • %f 表示要格式化為浮點數
  • %u 表示要格式化為整數
從範例的輸出結果我們就可以看到各個變數都已經被格式化過,並依序被填入到原始字串的特定位置,這個基本範例算是簡單,那如果要控制浮點數的小數點位數要怎麼做呢?請看範例二的詳細介紹。

PHP printf 函數應用範例二、處理浮點數
範例輸出結果
把整數 5 轉換為三位小數的結果是 5.00
把整數 5 轉換為三位小數的結果是 5.000
範例二使用了浮點數的進階控制,語法中的「%1\$.2f」表示要格式化至小數點後兩位,「%1\$.3f」則表示要格式化到小數點後三位,PHP printf 函數會根據這些規則,把格式化後的浮點數結合原始字串後輸出來。

想更進一步研究 PHP 字串,請參閱《PHP String 字串》篇的說明。

更多 PHP 字串相關函數
分享於 2014-11-17