printf vs sprintf
printf
將使用佔位符輸出格式化的字串
sprintf
將返回格式化的字串
$name = 'Jeff';
// The `%s` tells PHP to expect a string
// ↓ `%s` is replaced by ↓
printf("Hello %s, How's it going?", $name);
#> Hello Jeff, How's it going?
// Instead of outputting it directly, place it into a variable ($greeting)
$greeting = sprintf("Hello %s, How's it going?", $name);
echo $greeting;
#> Hello Jeff, How's it going?
也可以使用這兩個函式格式化數字。這可以用於格式化用於表示金錢的十進位制值,以便它始終具有 2 個十進位制數字。
$money = 25.2;
printf('%01.2f', $money);
#> 25.20
vprintf
和 vsprintf
這兩個函式作為 printf
和 sprintf
執行 ,但接受格式字串和值陣列,而不是單個變數。