PHP printf 函式

PHP printf 函式可以用來輸出格式化後的字串,運作流程先將新的字符插入原本的字串中並且格式化,接著直接將格式化後的新字串輸出在網頁上,用法與 sprintf 函式類似,但不同的是 printf 函式可以格式化與輸出一次完成,而 sprintf 函式格式化後,還必須用 echoprint 輸出結果,如果程式當時的情況不需要在字串格式化後,再進行其他的處理,而是要馬上輸出到網頁,printf 函式就顯得相當方便。

PHP printf 函式基本語法

string printf ( string $format , $args1 , $args2 , $args3 , $arg4 , $arg5 ... )


printf 函式的小括號內第一個參數 $format 是原始格式化轉換字串,可能包含許多帶有百分比的格式化部分,可以設定即將帶入的字符,會格式化為哪一種格式,關於 $format 的參數可以參考 sprintf 函式上的參數表。接著有許多的 $args,即為要帶入 $format 字串的字符,可以有非常多個,printf 會依照順序帶入 $format 字串,並完成格式化,最後將格式化完成的新字串輸出於網頁。

PHP printf 函式範例一
<?php
$string = 'to';
$number = '5';
$format = 'Welcome %s Wibibi.%f is float of %u.';
printf($format,$string,$number,$number);
?>
以上範例輸出結果
Welcome to Wibibi.5.000000 is float of 5.
範例的 $format 是包含 3 個 % 格式化符號的字串,透過 printf 函式,將 $string 與 $number 變數依序帶入至 $format 的百分比位置,並且格式化,第 1 個百分比寫成 %s,代表要將 $string 格式化為字串,第 2 個百分比寫成 %f 代表要將 $number 格式化為浮點數,第 3 個百分比寫成 %u,代表要將 $number 格式化為十進位的整數。

PHP printf 函式範例二、控制浮點數小數位數
<?php
$number = '5';
$format = "%1\$.3f is float of %u.";
printf($format,$number,$number);
?>
以上範例輸出結果
5.000 is float of 5.
其實要控制浮點數的小數位數,僅需要一點小技巧,第一個是 $format 變數內容要用雙引號("")而不是單引號('')將字串包起來,第二個是在字串中,像範例這樣寫成「%1\$.3f」代表小數點後面保留三位,接著讓 printf 函式帶入 $number 並格式化即可。

相關主題研究
© Copyright wibibi.com 網頁設計教學百科 基礎的網頁設計規劃、資料庫與程式設計 Since 2012