2024年03月28日

PHP関数:sprintf()

この関数の説明

PHP関数の sprintf() は、文字列の中に指定フォーマットの文字、整数及び実数を挿入する関数です。

可変文字列を出力する時に利用します。

 


関数

sprintf($format , $val ,$val,・・・・)

 


パラメータ

$format

下記形式でフォーマットを指定します。

%[引数番号$][パディング][表示幅][.桁数]型指定子

%型指定子以外はオプションで省略可能です。

型指定子

型指定子 意味
s 引数は文字列として扱います。
d 引数を整数とし、10進数で表現します。
f 引数を実数として表示します。

※上記以外に 2進数表示 や 1.23e+3 の様な科学的記法もありますがここでは説明を省略します。

 

$val

指定フォーマットに挿入する値

 


戻り値

フォーマット変換された文字列を戻します。

 


事例

①型指定子だけを利用した例

<?php
    $name = '山田太郎';
    $no = 121;	
    $format = '%sさんは、%d番目の当選者です。';
	 echo sprintf($format , $name , $no);
?>

■5行目:引数は順番に$formatに割り振られます。

■下記が出力されます。

山田太郎さんは、121番目の当選者です。

 

②[引数番号$]を指定した例

引数番号は何番目の引数を使うのか?を指定するフォーマットです。数字の後ろに$を付けます。

<?php
	$format = '山田さんは %2$s で、田中さんは %1$s です。';
	echo sprintf($format , '金' , '銀' , '銅').'<br>';
?>

■下記が出力されます。

山田さんは 銀 で、田中さんは 金 です。

 

[パディング][表示幅]を指定した例

受験番号や月や日の桁数を合わせる等は数字の前に0を付与して桁数を合わせます。

下記は数字を2桁表示にした例です

<?php
	$val1 = 1;
	$val2 = 12;
	echo '$val1='.sprintf('%02d',$val1).'<br>';	//01になります。
	echo '$val2='.sprintf('%02d',$val2);		      //12のままです。
?>

■上記の結果は下記が表示されます。

$val1=01
$val2=12

■上記の'%02d'

パディング0 (表示幅2より小さい場合は数字の前を0で埋める事を指示しています。)

表示幅2 (整数の表示幅は2桁と定義しています。)

型指定子:d(引数は整数で処理しなさいと定義しています。)

 

④数字操作の例

<?php
	$data = 1234.567;
	echo sprintf('整数値は %d です。',$data).'<br>';
	echo sprintf('小数点以下2桁表示は %.2f です。',$data).'<br>';
?>

■3行目:整数表示を指定しているので、少数点以下は切り捨てになります。

1234が表示されます。

■4行目:小数点以下は2桁表示(.2)を指定しています。

123.57が表示されます。(小数点以下の3桁目は四捨五入されています)

 


関連情報

関連関数は 文字列で操作する関数 を参照してください。

 

関数一覧
  • 1.PHPとWordPressプログラム
  • 2.PHPの出力コマンド
  • 3.PHPの変数規則と文字連結
  • 4.PHPのif文
  • 5.PHPの配列とループ処理
  • 6.PHPのオブジェクトとループ処理
  • 7.PHPの文字列操作関数
  • 8.PHPファイルや関数の読み込み
  • 9.PHPのフォーム操作
  • array_keys()
  • array_reverse()
  • checkdate()
  • count()
  • date()
  • echo
  • explode()
  • implode()
  • in_array()
  • intval()
  • isset()
  • preg_match_all()
  • preg_match()
  • preg_replace()
  • preg_split()
  • print_r()
  • session_id()
  • session_start()
  • sprintf()
  • str_replace()
  • strpos()
  • trim()
  • var_dump()