【PHP8.x】vprintf関数の使い方

作成日: 更新日:

vprintf関数は、フォーマット文字列と値の配列に基づき、整形された文字列を標準出力へ直接出力する関数です。基本的な機能はprintf関数と似ていますが、引数の渡し方に違いがあります。printf関数がフォーマット指定子に対応する値を個別の引数として受け取るのに対し、vprintf関数はこれらの値を単一の配列として受け取ります。この特性により、関数の引数として渡された値をそのまま別の関数に渡す場合や、動的に生成された値のリストを整形して出力したい場合に特に役立ちます。第1引数には、%s%dといった変換指定子を含むフォーマット文字列を指定します。第2引数には、これらの変換指定子に順番に対応する値が格納された配列を渡します。関数が成功すると、出力した文字列の長さ(バイト数)を整数で返します。エラーが発生した場合はfalseを返します。なお、整形された文字列を直接出力するのではなく、変数に格納したい場合は、同様に引数を配列で受け取るvsprintf関数を使用します。

基本的な使い方

構文(syntax)

<?php
$format = 'There are %d monkeys in the %s.';
$values = [5, 'tree'];

$result = vprintf($format, $values);
?>

引数(parameters)

string $format, array $values

  • string $format: フォーマット文字列。printf() 関数と同様に、プレースホルダ (%s, %d など) を含みます。
  • array $values: フォーマット文字列内で使用される値の配列。各要素は $format のプレースホルダに対応します。

戻り値(return)

int

vprintf関数は、書式指定された文字列をフォーマットし、指定された引数リストを使用して標準出力へ出力します。この関数は、出力されたバイト数を整数で返します。