vprintfの類似点と相違点についてこの記事は約4分で読めます。printf関数については別の記事で機能説明をしましたが、文字列をフォーマットする関数には「sprintf」「vprintf」関数も存在します。これらもprintfと同様のフォーマットが適用できるのですが、ではなぜ3つも関数が用意されいるのかについて今回はお話ししたいと思います。【PHPマニュアル】printfの説明と使い方どうもタスです。今回は、PHPのprintf関数についての説明と使い方をお伝えします。〈返り値〉フォーマットされた文字列。失敗時にはFALSEを返す。以下に、3つの関数の類似点と相違点についてお話しします。類似点3つの関数全てに類似する機能は、文字列をフォーマットするということです。これは、printfの説明に記載したように、意図する形式に引数を変換します。【PHPマニュアル】printfの説明と使い方どうもタスです。今回は、PHPのprintf関数についての説明と使い方をお伝えします。相違点には以下の三つが挙げられます。一つ目はフォーマット後の文字列の扱いですが、フォーマットすることは全ての関数で一緒でもフォーマット後の文字列の扱いに相違があります。フォーマット後、printf及びvprintfは文字列を出力しますが、sprintfは出力せずに返します。よって、フォーマットしたいだけで出力しない場合はsprintfを使用する方が良いでしょう。二つ目は引数の型に違いがある点ですが、これは構文説明のとおり、printf及びsprintfは文字列をカンマ区切りで複数指定可能ですが、vprintfは配列で文字列を受け取ります。よって、全ての関数で複数の引数を指定可能ですが、型が異なる点に注意が必要です。三つ目は返り値に違いがある点ですが、これも構文説明のとおり、printf及びvprintfは出力した文字列の長さを返すのに対して、sprintfは相違点の一つ目で話したとおり、フォーマット済み文字列を返します。それらをまとめると以下のようになります。