PHP では、sprintf 関数は、フォーマットされた文字列をエスケープ用の変数に書き込むことができます。構文は "sprintf(format。これは、フォーマット文字列の最初の % 記号に挿入されることを規定しています。パラメータは、指定します。フォーマット文字列の 2 番目の % 記号に挿入されるパラメータ...)"。ここで、format は文字列とその中の変数のフォーマット方法を指定するために使用されます。
この記事の動作環境: Windows 10 システム、PHP バージョン 8.1、Dell G3 コンピューター
sprintf() 関数は、フォーマットされた文字列を変数に書き込みます。
arg1、arg2、パラメータはメイン文字列のパーセント記号 (%) 記号に挿入されます。この関数はステップごとに実行されます。最初の % 記号には arg1 を挿入し、2 番目の % 記号には arg2 を挿入します。
注: arg 引数よりも % 記号の方が多い場合は、プレースホルダーを使用する必要があります。プレースホルダーは % 記号の後に挿入され、数字と「\$」で構成されます。
構文は次のとおりです:
sprintf(format,arg1,arg2,arg++)
形式が必要です。文字列とその中の変数のフォーマット方法を指定します。
可能な形式値:
##%o - 8 進数
%s - 文字列
%x - 16 進数 (小文字)
%X - 16 進数 (大文字)
追加のフォーマット値。 % と文字 (%.2f など) の間に配置する必要があります:
' (パディングとして使用するものを指定します。デフォルトはスペースです。これは、幅指定子。例: %'x20s (パディングとして「x」を使用))
- (変数値を左に調整)
[ 0-9] (変数値の最小幅を指定)
.[0-9] (小数点以下の桁数または文字列の最大長を指定)
注: 上記の形式の値を複数使用する場合は、上記の順序で使用する必要があり、中断することはできません。
arg2 オプション。フォーマット文字列の 2 番目の % 記号に挿入するパラメータを指定します。
arg オプション。フォーマット文字列の 3 番目、4 番目などの % 記号に挿入するパラメータを指定します。
例は次のとおりです:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII 字符 50 是 2 // 注释:格式值 "%%" 返回百分号 echo sprintf("%%b = %b",$num1)."<br>"; // 二进制数 echo sprintf("%%c = %c",$char)."<br>"; // ASCII 字符 echo sprintf("%%d = %d",$num1)."<br>"; // 带符号的十进制数 echo sprintf("%%d = %d",$num2)."<br>"; // 带符号的十进制数 echo sprintf("%%e = %e",$num1)."<br>"; // 科学计数法(小写) echo sprintf("%%E = %E",$num1)."<br>"; // 科学计数法(大写) echo sprintf("%%u = %u",$num1)."<br>"; // 不带符号的十进制数(正) echo sprintf("%%u = %u",$num2)."<br>"; // 不带符号的十进制数(负) echo sprintf("%%f = %f",$num1)."<br>"; // 浮点数(视本地设置) echo sprintf("%%F = %F",$num1)."<br>"; // 浮点数(不视本地设置) echo sprintf("%%g = %g",$num1)."<br>"; // 短于 %e 和 %f echo sprintf("%%G = %G",$num1)."<br>"; // 短于 %E 和 %f echo sprintf("%%o = %o",$num1)."<br>"; // 八进制数 echo sprintf("%%s = %s",$num1)."<br>"; // 字符串 echo sprintf("%%x = %x",$num1)."<br>"; // 十六进制数(小写) echo sprintf("%%X = %X",$num1)."<br>"; // 十六进制数(大写) echo sprintf("%%+d = %+d",$num1)."<br>"; // 符号说明符(正) echo sprintf("%%+d = %+d",$num2)."<br>"; // 符号说明符(负) ?>
出力結果:
推奨学習: 「PHP ビデオ チュートリアル 」 「
以上がPHPでsprintf関数をエスケープする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。