PHPでsprintf関数をエスケープする方法

WBOY
リリース: 2023-03-16 12:08:02
オリジナル
2410 人が閲覧しました

PHP では、sprintf 関数は、フォーマットされた文字列をエスケープ用の変数に書き込むことができます。構文は "sprintf(format。これは、フォーマット文字列の最初の % 記号に挿入されることを規定しています。パラメータは、指定します。フォーマット文字列の 2 番目の % 記号に挿入されるパラメータ...)"。ここで、format は文字列とその中の変数のフォーマット方法を指定するために使用されます。

PHPでsprintf関数をエスケープする方法

この記事の動作環境: Windows 10 システム、PHP バージョン 8.1、Dell G3 コンピューター

php で sprintf 関数をエスケープする方法

sprintf() 関数は、フォーマットされた文字列を変数に書き込みます。

arg1、arg2、パラメータはメイン文字列のパーセント記号 (%) 記号に挿入されます。この関数はステップごとに実行されます。最初の % 記号には arg1 を挿入し、2 番目の % 記号には arg2 を挿入します。

注: arg 引数よりも % 記号の方が多い場合は、プレースホルダーを使用する必要があります。プレースホルダーは % 記号の後に挿入され、数字と「\$」で構成されます。

構文は次のとおりです:

sprintf(format,arg1,arg2,arg++)
ログイン後にコピー

形式が必要です。文字列とその中の変数のフォーマット方法を指定します。

可能な形式値:

  • ##%% - パーセント記号を返します。 %

  • %b - 2 進数

  • %c - ASCII 値に対応する文字

  • %d - 符号 (負、0、正) を含む 10 進数

  • %e - 小文字の科学表記法を使用します (例: 1.2e 2)

  • %E - 大文字の科学表記法を使用します (例: 1.2 E 2)

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

  • %f - 浮動小数点数 (ローカル設定)

  • %F - 浮動小数点数 (非ネイティブ設定)

  • ##%g - 短い %e および %f
  • # %G - 短い %E および %f
  • ##%o - 8 進数

  • %s - 文字列

  • %x - 16 進数 (小文字)

  • %X - 16 進数 (大文字)

  • 追加のフォーマット値。 % と文字 (%.2f など) の間に配置する必要があります:

  • (数値の符号を定義するには、数値の前にまたは - を追加します) . デフォルト この場合、負の数値のみがマークされ、正の数値はマークされません)
  • ' (パディングとして使用するものを指定します。デフォルトはスペースです。これは、幅指定子。例: %'x20s (パディングとして「x」を使用))

  • - (変数値を左に調整)

  • [ 0-9] (変数値の最小幅を指定)

  • .[0-9] (小数点以下の桁数または文字列の最大長を指定)

  • 注: 上記の形式の値を複数使用する場合は、上記の順序で使用する必要があり、中断することはできません。

  • arg1 必須。フォーマット文字列の最初の % 記号に挿入するパラメータを指定します。

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でsprintf関数をエスケープする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート