sprintf関数とは?
sprintf関数は、PHPで指定したフォーマットに従って文字列を生成するための関数です。
sprintf関数の概要
sprintf関数の基本的な書式は、次のとおりです。
PHP
string sprintf(string $format, mixed $args);
string $format
:フォーマット文字列mixed $args
:フォーマット文字列に埋め込む値
フォーマット文字列は、%(パーセント)で始まり、その後にフォーマット指定子を記述します。フォーマット指定子には、文字列、数値、日付、時刻など、さまざまな種類があります。
sprintf関数の書き方
sprintf関数の書き方は、次のとおりです。
- フォーマット文字列を作成します。
- フォーマット文字列に埋め込む値を用意します。
- sprintf関数を呼び出して、フォーマットされた文字列を取得します。
PHP
// フォーマット文字列の作成
$format = "姓名:%s 年齢:%d";
// 値の用意
$name = "山田 太郎";
$age = 20;
// sprintf関数の呼び出し
$str = sprintf($format, $name, $age);
// フォーマットされた文字列の取得
echo $str;
このコードを実行すると、次の出力になります。
姓名:山田 太郎 年齢:20
sprintf関数の作成・使用方法
sprintf関数は、次の2つの方法で使用できます。
echo
やprint
などの出力関数で出力する- 変数に格納して、後で使用する
PHP
// echo で出力する
$format = "姓名:%s 年齢:%d";
$name = "山田 太郎";
$age = 20;
$str = sprintf($format, $name, $age);
echo $str;
// 変数に格納する
$format = "姓名:%s 年齢:%d";
$name = "山田 太郎";
$age = 20;
$str = sprintf($format, $name, $age);
// 変数を後で使用する
echo $str;
sprintf関数のスクリプトサンプル
次のスクリプトは、sprintf関数を使用して、さまざまなフォーマット文字列を生成しています。
PHP
// 文字列のフォーマット
$format = "姓名:%s 年齢:%d";
$name = "山田 太郎";
$age = 20;
$str = sprintf($format, $name, $age);
echo $str;
// 数値のフォーマット
$format = "金額:%.2f 円";
$price = 1234.5678;
$str = sprintf($format, $price);
echo $str;
// 日付のフォーマット
$format = "日付:%Y年%m月%d日";
$date = new DateTime();
$str = sprintf($format, $date);
echo $str;
// 時刻のフォーマット
$format = "時刻:%H時%M分%S秒";
$time = new DateTime();
$str = sprintf($format, $time);
echo $str;
このスクリプトを実行すると、次の出力になります。
姓名:山田 太郎 年齢:20
金額:1,234.57 円
日付:2024年01月02日
時刻:16時45分00秒
sprintf関数特有の事柄・注意点
- フォーマット文字列に埋め込む値は、文字列、数値、配列、オブジェクトなど、さまざまな種類の値を指定できます。
- フォーマット指定子は、PHPマニュアルを参照してください。
- フォーマット文字列にエスケープシーケンスを使用する場合は、%s ではなく、%\s を指定する必要があります。
sprintf関数のまとめ
sprintf関数は、指定したフォーマットに従って文字列を生成するための便利な関数です。PHPの初心者でも使いやすい