sprintf

sprintf -- フォーマットされた文字列を返す

説明

sprintf(string format, mixed [args] ...);

フォーマット文字列formatにしたがって 生成された文字列を返します。

フォーマット文字列は 0 個以上のディレクティブ(指示子)により 構成されます。ディレクティブには、そのまま結果にコピーされる (%を除く)通常の文字と変換指定子 (conversion specifications)があり、取り出される際は どちらもそれ自身がパラメータとなります。このことは sprintfの場合だけでなくprintf の場合も同様です。

各変換指定子は 3 つの要素から成ります。これらを順に説明して いきます。

  1. オプションのパディング文字。これは、 文字列が正しい長さになるまでどんな文字で埋めるかということを 指定します。これは空白かまたは0( '0' と いう文字)のいずれかです。デフォルトでは空白で埋められます。 これ以外のパディング文字を指定するには、その文字の前に単一 引用符(')を置きます。後述の例を参照して ください。

  2. オプションのアラインメント指定子。これは 結果を左寄せまたは右寄せにしたい場合に指定します。デフォルトは 右寄せです。ここで-文字を指定すると左寄せ となります。

  3. オプションの数字。これは表示幅指定子です。 結果を(最低)何桁にするかを指定します。

  4. オプションの精度指定子。これは、浮動小数点 数に対して何個の数字を表示するかを指定します。このオプションは、 double(倍精度)型以外には何の効果もありません。 (数字をフォーマットする際に便利な関数として他に number_format があります。)

  5. 型指定子。引数を何の型として扱うかを指定 します。指定できる型を以下に示します。

    % - パーセント文字。引数は不要です。
    b - 引数を整数として扱い、バイナリの数値 として表現します。
    c - 引数を整数として扱い、その ASCII 値 の文字として表現します。
    d - 引数を整数として扱い、10 進数として 表現します。
    f - 引数を double として扱い、浮動小数点数 として表現します。
    o - 引数を整数として扱い、8 進数として 表現します。
    s - 引数を文字列として扱い、表現します。
    x - 引数を整数として扱い、16 進数として (小文字で)表現します。
    X - 引数を整数として扱い、16 進数として (大文字で)表現します。

printf, number_format も参照下さい。

例 1. sprintf: 整数を 0 でパディング


$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);

例 2. sprintf: 貨幣をフォーマットする例


 $money1 = 68.75;
 $money2 = 54.35;
 $money = $money1 + $money2;
 // echo $money は "123.1" を出力します。
 $formatted = sprintf ("%01.2f", $money);
 // echo $formatted は "123.10" を出力します。