PHP fprintf() 関数
例
テキストを "test.txt" という名前のテキストファイルに書き込みます:
<?php $number = 9; $str = "Beijing"; $file = fopen("test.txt", "w"); echo fprintf($file,"There are 쥕lion bicycles in %s.",$number,$str); ?>
上記のコードの出力:
40
以下のテキストがファイル "test.txt" に書き込まれます:
北京には900万台の自転車があります。
定義と用法
fprintf() 関数は、指定された出力ストリーム(例:ファイルやデータベース)に形式化された文字列を書き込みます。
arg1、arg2、arg++ パラメータがメインの文字列の % 符号に挿入されます。この関数はステップごとに実行されます。最初の % 符号に、 arg1第2個 % 符号に、 arg2など、順に挿入します。
注釈:% 符号が多い場合、 arg パラメータがあれば、プレースホルダを使用する必要があります。プレースホルダは % 符号の後に数字と "\$" で構成されます。例2を参照してください。
関連する関数:
文法
fprintf(stream,format,arg1,arg2,arg++)
パラメータ | 説明 |
---|---|
stream | 必須です。文字列をどこに書き込むか/出力する場所を指定します。 |
format |
必須です。文字列とその中の変数のフォーマットを指定します。 可能なフォーマット値:
フォーマット値が追加されます。% とアルファベットの間に配置する必要があります(例:%.2f):
注釈:もし複数の追加のフォーマット値を使用する場合は、上記の順序で使用する必要があります。 |
arg1 | 必須。以下に挿入する format 文字列の第1 % 符号の位置の引数。 |
arg2 | 任意。以下に挿入する format 文字列の第2 % 符号の位置の引数。 |
arg++ | 任意。以下に挿入する format 文字列の第3、4など % 符号の位置の引数。 |
技術的詳細
返り値: | 書かれた文字列の長さを返します。 |
PHP バージョン: | 5+ |
さらに多くの例
例 1
テキストをファイルに書き込む:
<?php $number = 123; $file = fopen("test.txt", "w"); fprintf($file, "%f", $number); ?>
以下のテキストはファイル "test.txt" に書き込まれます:
123.000000
例 2
占位符を使用して:
<?php $number = 123; $file = fopen("test.txt", "w"); fprintf($file, "有两位小数:%1$.2f \n小数がありません:%1$u", $number); ?>
以下のテキストはファイル "test.txt" に書き込まれます:
2桁の小数があります:123.00 小数がありません:123
例 3
使用 printf() ですべてのフォーマット値を示します:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII 文字 50 は 2 // 注釈:フォーマット値 "%%" は百分号を返します printf("%%b = %%b <br>", $num1); // 2進数 printf("%%c = %%c <br>", $char); // ASCII 文字 printf("%%d = %%d <br>", $num1); // 符号付きの10進数 printf("%%d = %%d <br>", $num2); // 符号付きの10進数 printf("%%e = %%e <br>", $num1); // 科学記数法(小文字) printf("%%E = %%E <br>", $num1); // 科学記数法(大文字) printf("%鑾u <br>", $num1); // 符号なしの10進数(プラス) printf("%鑾u <br>", $num2); // 符号なしの10進数(マイナス) printf("%%f = %f <br>", $num1); // 浮動小数点数(ローカル設定を視覚化) printf("%%F = %F <br>", $num1); // 浮動小数点数(ローカル設定を無視) printf("%%g = %g <br>", $num1); // %e または %f より短い printf("%%G = %G <br>", $num1); // %E または %f より短い printf("%%o = %o <br>", $num1); // 8進数 printf("%%s = %s <br>", $num1); // 文字列 printf("%%x = %x <br>", $num1); // 十六進数(小文字) printf("%%X = %X <br>", $num1); // 十六進数(大文字) printf("%%+d = %+d <br>", $num1); // 記号記号(プラス) printf("%%+d = %+d <br>", $num2); // 記号記号(マイナス) ?>