sprintf 関数のフォーマット指定子は、出力の形式を指定するために使用されます。

公式はこちら。

sprintf(string $formatmixed ...$values): string

フォーマット文字列 format に基づき生成された文字列を返します。

https://www.php.net/manual/ja/function.sprintf.php

よく使うパターンで言うと

●「%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); // 変数にも入れられる

【PHP:備忘録】sprintf()の使い方” に対して1件のコメントがあります。

  1. Ada Mayo より:

    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.

コメントは受け付けていません。