sprintf

関数の概要

sprintfは、PHPでフォーマットに従った文字列を生成するための関数です。指定した書式指定子に基づいて、数値や文字列を整形し、結果を返します。画面表示用だけでなく、ログ記録やファイル出力など様々な場面で活用される便利な関数です。

パラメータの説明

  • format(必須): フォーマット文字列。%記号と書式指定子を用いて、出力の形式を指定します。
  • args...(必須): フォーマット文字列内の書式指定子に対応する値。複数指定可。

戻り値

書式に従って整形された文字列を返します。なお、sprintfは画面への出力は行わず、加工した文字列を戻り値として取得できます。

使用例

基本的な使い方

<?php
$name = "山田";
$age = 30;
$result = sprintf("名前は%s、年齢は%d歳です。", $name, $age);
echo $result;
?>

この例では、%sが文字列、%dが整数のプレースホルダです。$name$ageの値が指定の場所に挿入され、”名前は山田、年齢は30歳です。” と表示されます。

数値の小数点以下の桁数を指定する

<?php
$price = 1234.5678;
$formatted = sprintf("価格は %.2f 円です。", $price);
echo $formatted;
?>

%.2fは小数点以下2桁まで表示する浮動小数点数の書式指定子です。この場合、”価格は 1234.57 円です。” と四捨五入して出力されます。

ゼロ埋めや文字幅の指定

<?php
$number = 42;
echo sprintf("番号:%05d", $number);   // 出力: 番号:00042
echo sprintf("名前:%-10s!", "Tom");  // 出力: 名前:Tom       !
?>

%05dは5桁の整数をゼロ埋めで表示、%-10sは左寄せで10文字分の幅を確保して文字列を表示します。整列や見た目の調整に便利です。

関連する関数

  • printfsprintfと似ていますが、結果を画面に直接出力します。
  • vsprintf – 引数を配列で渡して文字列を整形します。
  • number_format – 数値のフォーマットに特化した関数です。

まとめ

sprintfはPHPで書式付き文字列を簡単に作成できる強力な関数です。複数のデータ型に対応し、数値の桁数調整や文字列の整列にも便利なので、日常のプログラミングやデバッグ、出力整形で非常に役立ちます。用途に応じた書式指定子を理解して使いこなすことが大切です。