関数 vsprintf

関数 vsprintf は sprintf と似ていますが、可変長の引数の代わりに配列として引数を受け取ります。 最初のパラメータとしてフォーマット指定子を含む書式文字列を、2番目のパラメータとして代入する値の配列を渡します。書式文字列では、%記号で始まり、出力のフォーマットを制御する特別な記号(フォーマット指定子)が使用されます。

構文

phpvsprintf(string $format, array $args);

フォーマット指定子

指定子 説明
%s 文字列
%d 符号付き整数(10進数)
%u 符号なし整数(10進数)
%f 浮動小数点数(ロケール依存)
%F 浮動小数点数(ロケール非依存)
%c ASCIIコードによる文字
%x 16進数整数(小文字)
%X 16進数整数(大文字)
%o 8進数整数
%b 2進数整数
%e 科学的記数法(小文字)
%E 科学的記数法(大文字)
%g %eまたは%fの短縮形
%G %Eまたは%Fの短縮形
%% パーセント記号

例

値の置換による文字列フォーマットの基本的な例:

php<?php
  $res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
  echo $res;
?>

コード実行結果:

php'Hello John! Today is Monday.'

例

様々なフォーマット指定子の使用例:

php<?php
  $res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
  echo $res;
?>

コード実行結果:

php'2023-05-12'

例

浮動小数点数を扱う例:

php<?php
  $res = vsprintf('Price: $%.2f', [19.99]);
  echo $res;
?>

コード実行結果:

php'Price: $19.99'

関連項目

  • 可変長引数で文字列をフォーマットする sprintf 関数
  • フォーマットされた文字列を出力する printf 関数