PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのfprintf()関数とは?ストリームへのフォーマット済み文字列の書き込み方法を解説

PHPのfprintf()関数は、指定したストリーム(ファイルなど)にフォーマット済みの文字列を書き込むための関数です。printf()と同じ書式指定が使えますが、出力先をブラウザではなくファイルやストリームにできる点が大きな特徴です。ログの記録やデータファイルの生成などに活用できます。

構文

fprintf(stream, format, argument1, argument2, ...)

パラメータ

  • stream − 文字列の書き込み・出力先となるストリーム(通常はfopen()で取得したファイルポインタを指定します)

  • format − 出力する文字列と、変数の埋め込み方(書式)を指定します。

  • argument1 − フォーマット文字列内の最初の % 記号の位置に挿入される引数

  • argument2 − 2番目の % 記号の位置に挿入される引数(以降も同様に複数指定可能です)

formatで使える主な書式指定子

  • %% − パーセント記号(%)そのものを出力

  • %b − 2進数として出力

  • %c − ASCIIコード値に対応する文字

  • %d − 符号付き10進数(負の値・ゼロ・正の値)

  • %e − 小文字のeを使った科学技術表記(例:1.2e+2)

  • %E − 大文字のEを使った科学技術表記(例:1.2E+2)

  • %u − 符号なし10進数(0以上の値)

  • %f − 浮動小数点数(ロケール設定を考慮)

  • %F − 浮動小数点数(ロケール設定を考慮しない)

  • %g − %e と %f のうち短い方で出力

  • %G − %E と %f のうち短い方で出力

  • %o − 8進数として出力

  • %s − 文字列として出力

  • %x − 16進数(英字は小文字)

  • %X − 16進数(英字は大文字)

戻り値

fprintf()関数は、実際に書き込まれた文字列の長さ(バイト数)を返します。書き込みに失敗した場合は false を返します。

使用例

以下はfprintf()関数を使って、数値を浮動小数点形式でファイルに書き込む例です。

<?php
$input = 123;
$file = fopen("sample.txt", "w");
fprintf($file, "%f", $input);
fclose($file);
?>

出力結果(sample.txtの中身)

123.000000

この例では、整数 123 が書式指定子 %f によって浮動小数点形式にフォーマットされ、「123.000000」という文字列としてファイルに書き込まれています。なお、ファイルへ書き込む場合はオープンモードを "w"(書き込みモード)にし、処理が完了したら fclose() でファイルを確実に閉じるのが安全です。

  1. PHPのucfirst()関数とは?使い方とサンプルコードを解説

    ucfirst() 関数は、文字列の最初の1文字を大文字に変換するために使用されるPHPの組み込み関数です。それ以外の文字は元のまま維持されます。 構文 ucfirst(str) パラメータ str − 先頭の文字を大文字に変換したい対象の文字列を指定します。 戻り値 ucfirst() 関数は、最初の文字が大文字に変換された文字列を返します。元の文字列そのものは変更されない点に注意してください。 使用例 以下は ucfirst() 関数を使った基本的なコード例です。 <?php echo ucfirst(demo); ?> 出力結果 Demo 補足:マルチバ

  2. PHPのsubstr()関数の使い方を徹底解説!文字列の一部を抽出する方法

    PHPのsubstr()関数は、文字列の一部を抽出して返すための関数です。指定した開始位置から、指定した長さ分だけ文字列を取り出すことができます。構文substr(str, begin, len)パラメータstr − 対象となる元の文字列を指定します。begin − 文字列のどこから抽出を開始するかを指定します。正の数 − 文字列の先頭から数えて指定位置から抽出を開始します。負の数 − 文字列の末尾から数えて指定位置から抽出を開始します。0 − 文字列の最初の文字から抽出を開始します。len − 抽出する文字列の長さを指定します。省略した場合は、開始位置から文字列の末尾までが返されます。正の数