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

vprintfvsprintf 这两个函数作为 printfsprintf 运行 ,但接受格式字符串和值数组,而不是单个变量。