PHP printf() 関数
定義と使用法
printf() 関数は形式化された文字列を出力します。
arg1、arg2、arg++ パラメータがメインの文字列の % 符号に挿入されます。この関数は逐次実行されます。最初の % 符号に arg1、2番目の % 符号に arg2、次のように続けます。
注釈:もし % 符号が多い場合 arg パラメータがあれば、占位符を使用する必要があります。占位符は % 符号の後に挿入され、数字と "\$" で構成されます。例2を参照してください。
ヒント:関連する関数:sprintf()、vprintf()、vsprintf()、fprintf()、vfprintf()
文法
printf(format,arg1,arg2,arg++)
パラメータ | 説明 |
---|---|
format |
必須。文字列とその中の変数のフォーマット方法を定義します。 可能なフォーマット値:
追加のフォーマット値。% とアルファベットの間に配置する必要があります(例:%.2f):
注釈:上記のフォーマット値を複数使用する場合、その順序を乱さないように使用する必要があります。 |
arg1 | 必須。指定する format 文字列の中の第一の % 符号の場所の引数。 |
arg2 | 必須。指定する format 文字列の中の第二の % 符号の場所の引数。 |
arg++ | オプション。指定する format 文字列の中の第三、四など % 符号の場所の引数。 |
技術的詳細
返り値: | 出力された文字列の長さを返します。 |
PHP バージョン: | 4+ |
さらに多くの例
例 1
フォーマット値 %f の使用:
<?php $number = 123; printf("%f",$number); ?>
例 2
占位符の使用:
<?php $number = 123; printf("有两位小数:%1\$.2f<br>没有小数:%1\$u",$number); ?>
例 3
すべての可能なフォーマット値のデモンストレーション:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII 文字 50 は 2 // 注釈:フォーマット値 "%%" は百分号を返します printf("%%b = %b <br>",$num1); // 二進数 printf("%%c = %c <br>",$char); // ASCII 文字 printf("%%d = %d <br>",$num1); // 帯符号の十進数 printf("%%d = %d <br>",$num2); // 帯符号の十進数 printf("%%e = %e <br>",$num1); // 科学記数法(小文字) printf("%%E = %E <br>",$num1); // 科学記数法(大文字) printf("%鑾u <br>",$num1); // 不带符号の十進数(正) printf("%鑾u <br>",$num2); // 不带符号の十進数(負) 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); // 符号記号(負) ?>
例 4
文字列記号のデモンストレーション:
<?php $str1 = "Hello"; $str2 = "Hello world!"; printf("[%s]<br>", $str1); printf("[%8s]<br>", $str1); printf("[%-8s]<br>", $str1); printf("[%08s]<br>", $str1); printf("[%'*8s]<br>", $str1); printf("[%8.8s]<br>", $str2); ?>