311 of 410 menu

fprintf関数

関数 fprintf は指定されたテンプレートに従って文字列をフォーマットし、結果をファイルストリームに書き込みます。第一引数にファイルリソース、第二引数にフォーマット文字列、それ以降の引数にテンプレートに挿入する値を取ります。ファイルリソースの代わりに null を渡すと、ストリームへの書き込みではなく文字列を返します。

フォーマット文字列では、記号 % で始まる特殊文字(フォーマット指定子)が使用され、出力のフォーマットを制御します。

構文

fprintf(resource $handle, string $format, mixed ...$values): int|false

フォーマット指定子

指定子 説明
%s 文字列
%d 符号付き整数(10進数)
%u 符号なし整数(10進数)
%f 浮動小数点数(ロケール依存)
%F 浮動小数点数(ロケール非依存)
%c ASCIIコードによる文字
%x 整数(16進数、小文字)
%X 整数(16進数、大文字)
%o 整数(8進数)
%b 整数(2進数)
%e 科学的記数法(小文字)
%E 科学的記数法(大文字)
%g %eまたは%fの短縮形
%G %Eまたは%Fの短縮形
%% パーセント記号

フォーマット済み文字列をファイルに書き込む:

<?php $file = fopen('output.txt', 'w'); fprintf($file, "Name: %s, Age: %d", "John", 25); fclose($file); ?>

ファイルoutput.txtの内容:

'Name: John, Age: 25'

異なるフォーマット指定子の使用:

<?php $res = fopen('php://temp', 'w'); fprintf($res, "Float: %.2f, Hex: %x", 12.3456, 255); rewind($res); echo stream_get_contents($res); fclose($res); ?>

コード実行結果:

'Float: 12.35, Hex: ff'

ファイルへの書き込みではなく文字列の返却:

<?php $result = sprintf("Today is %s", date('Y-m-d')); echo $result; ?>

コード実行結果:

'Today is 2023-11-15'

関連項目

  • フォーマット済み文字列を返す関数 sprintf
  • フォーマット済み文字列を出力する関数 vprintf
  • データをファイルに書き込む関数 file_put_contents
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否