vprintf

関数の概要

PHPの vprintf 関数は、書式指定文字列と配列を使ってフォーマットされた文字列を出力するための関数です。printf と似ていますが、引数を可変長ではなく配列で渡す点が特徴です。配列内の値を指定された書式に沿って一度に出力したい場合に便利です。

パラメータの説明

  • format(文字列):
    出力する文字列の書式を指定します。%d、%s、%fなどのフォーマット指定子を使えます。
  • args(配列):
    format内の書式指定子に対応する値を順番に並べた配列です。

戻り値

出力された文字数を整数で返します。出力に失敗した場合は false を返します。

使用例

基本的な使い方

<?php
$format = "名前:%s 年齢:%d 歳";
$args = ["山田太郎", 30];
vprintf($format, $args);
?>

このコードは「名前:山田太郎 年齢:30 歳」と画面に出力します。配列で値を渡すため、引数が多い場合でも扱いやすいです。

浮動小数点数と文字列の混在

<?php
$format = "商品の値段:¥%.2f 個数:%d 商品名:%s";
$args = [1234.567, 3, "りんご"];
vprintf($format, $args);
?>

小数点以下2桁のフォーマット(%.2f)を使い、複数の型を混ぜて出力しています。

配列の値を年齢グループごとに出力

<?php
$format = "%s さんは %d 歳で、カテゴリーは %s です。";
$people = [
  ["佐藤", 25, "若年層"],
  ["鈴木", 40, "中年層"],
  ["高橋", 65, "高齢者"]
];

foreach ($people as $person) {
  vprintf($format, $person);
  echo "<br>";
}
?>

複数の配列を使ったループ処理で、繰り返し書式付き出力しています。配列の中身ごとに表示を変えたい場合に役立ちます。

関連する関数

  • printf:可変長引数でフォーマット付き出力を行う関数
  • sprintf:フォーマット付きの文字列を返す関数
  • vsprintf:配列で引数を渡して書式付き文字列を返す関数

まとめ

vprintf は書式指定文字列と配列を組み合わせて簡潔に出力できる関数です。引数の数が多いときや配列のデータをそのまま書式付きにしたいときに便利です。使い方が単純で初心者でも扱いやすく、実務でもよく活用されます。今回紹介した例を参考にぜひ試してみてください。