sprintf
関数のフォーマット指定子は、出力の形式を指定するために使用されます。
公式はこちら。
sprintf(string
$format
, mixed...$values
): stringフォーマット文字列
https://www.php.net/manual/ja/function.sprintf.phpformat
に基づき生成された文字列を返します。
よく使うパターンで言うと
●「%d
」・・・ 整数を 10 進数で表示
●「%f」・・・浮動小数点数を表示
●「%s」・・・文字列を表示
とかですかね。
指定子の後に数値を入れることで、表示される桁数や小数点以下の桁数をいじれます。
例えば、%03d
は 「3 桁の整数として表示し、不足している桁をゼロ」で埋めます。
要は、%の後に「どのようにフォーマットするかを指定」するという感じ。
使い方としては以下の感じ。
<?php
$number = 42;
$floatNumber = 3.14159;
$string = "Hello";
$keta = 3;
// 整数を 3 桁で表示(不足する桁はゼロで埋める)
echo sprintf("%03d", $number); // 結果: 042
// 浮動小数点数を小数点以下 2 桁で表示
echo sprintf("%.2f", $floatNumber); // 結果: 3.14
// 文字列をそのまま表示
echo sprintf("%s", $string); // 結果: Hello
// 小数点以下の桁数を変数(動的に変えたい場合など)にするパターン
echo sprintf("%.{$keta}f", $floatNumber); // 結果: 3.142
?>
何かの計算をする時にはよく使うニャ
余談ですが、「printf()」という関数もありまして、これはechoと同じような使い方をするってのと、「sprintf()」の場合は変数に格納することが出来るという違いがあるようです。
$number = 42;
printf("The answer is %d.", $number); // そのまま出力するだけ
$format = sprintf("The answer is %d.", $number); // 変数にも入れられる
From start to finish, your content is simply amazing. You have a talent for making complex topics easy to understand and I always come away with valuable insights.