Heim > Backend-Entwicklung > PHP-Tutorial > PHP schreibt den formatierten String mit sprintf() in eine Variable

PHP schreibt den formatierten String mit sprintf() in eine Variable

黄舟
Freigeben: 2023-03-16 22:52:02
Original
2157 Leute haben es durchsucht

Beispiel

Ersetzen Sie das Prozentzeichen (%)-Symbol durch eine als Parameter übergebene Variable:

<?php
$number = 9;
$str = "Beijing";
$txt = sprintf("There are %u million bicycles in %s.",$number,$str);
echo $txt;
?>
Nach dem Login kopieren

Definition und Verwendung

sprintf()-Funktion Schreiben Sie die formatierte Zeichenfolge in eine Variable.

Arg1-, arg2- und ++-Parameter werden am Prozentzeichensymbol (%) in die Hauptzeichenfolge eingefügt. Diese Funktion wird Schritt für Schritt ausgeführt. Fügen Sie beim ersten %-Zeichen arg1 ein, beim zweiten %-Zeichen arg2 und so weiter.

Hinweis: Wenn mehr %-Symbole als arg-Argumente vorhanden sind, müssen Sie Platzhalter verwenden. Der Platzhalter wird nach dem %-Symbol eingefügt und besteht aus einer Zahl gefolgt von „$“. Siehe Beispiel 2.

Tipp: Verwandte Funktionen: printf(), vprintf(), vsprintf(), fprintf() und vfprintf()

Syntax

sprintf(format,arg1,arg2,arg++)
Nach dem Login kopieren
ParameterBeschreibung
formatErforderlich. Gibt eine Zeichenfolge und die Formatierung der darin enthaltenen Variablen an.
参数描述
format必需。规定字符串以及如何格式化其中的变量。

可能的格式值:

  • %% - 返回一个百分号 %

  • %b - 二进制数

  • %c - ASCII 值对应的字符

  • %d - 包含正负号的十进制数(负数、0、正数)

  • %e - 使用小写的科学计数法(例如 1.2e+2)

  • %E - 使用大写的科学计数法(例如 1.2E+2)

  • %u - 不包含正负号的十进制数(大于等于 0)

  • %f - 浮点数(本地设置)

  • %F - 浮点数(非本地设置)

  • %g - 较短的 %e 和 %f

  • %G - 较短的 %E 和 %f

  • %o - 八进制数

  • %s - 字符串

  • %x - 十六进制数(小写字母)

  • %X - 十六进制数(大写字母)

附加的格式值。必需放置在 % 和字母之间(例如 %.2f):

  • + (在数字前面加上 + 或 - 来定义数字的正负性。默认情况下,只有负数才做标记,正数不做标记)

  • ' (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。例如:%'x20s(使用 "x" 作为填充))

  • - (左调整变量值)

  • [0-9] (规定变量值的最小宽度)

  • .[0-9] (规定小数位数或最大字符串长度)

注释:如果使用多个上述的格式值,它们必须按照上面的顺序进行使用,不能打乱。

arg1必需。规定插到 format 字符串中第一个 % 符号处的参数。
arg2可选。规定插到 format 字符串中第二个 % 符号处的参数。
arg++可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。
Mögliche Formatwerte:<🎜>
  • <🎜>%% – gibt ein Prozentzeichen zurück % <🎜 >
  • <🎜>%b – Binärzahl <🎜>
  • <🎜>%c – Zeichen entsprechend dem ASCII-Wert <🎜>
  • < 🎜> %d – Dezimalzahl mit Vorzeichen (negativ, 0, positiv) <🎜>
  • <🎜>%e – Verwenden Sie die wissenschaftliche Schreibweise in Kleinbuchstaben (z. B. 1.2e+2)< 🎜>
  • <🎜>%E – Verwenden Sie die wissenschaftliche Schreibweise in Großbuchstaben (z. B. 1.2E+2) <🎜>
  • <🎜>%u – Ohne Vorzeichen Dezimalzahl (größer oder gleich 0) <🎜>< /li>
  • <🎜>%f – Gleitkommazahl (lokale Einstellung) <🎜>
  • <🎜>%F – Gleitkommazahl (nicht lokale Einstellungen) <🎜>
  • <🎜>%g – kürzeres %e und %f<🎜>
  • <🎜>%G – kürzeres %E und %f <🎜>
  • <🎜 >%o – Oktalzahl <🎜>
  • <🎜>%s – String <🎜>
  • <🎜>% x – Hexadezimalzahl (Kleinbuchstaben) <🎜>< /li>
  • <🎜>%X – Hexadezimalzahl (Großbuchstaben) <🎜>
<🎜> Zusätzliche Formatwerte. Muss zwischen % und Buchstaben platziert werden (z. B. %.2f): <🎜>
  • <🎜>+ ( Fügen Sie + oder - vor der Zahl hinzu, um das Vorzeichen der Zahl zu definieren. Standardmäßig werden nur negative Zahlen markiert und positive Zahlen werden nicht markiert) <🎜>
  • <🎜>' (geben Sie an, was Als Auffüllung sind Leerzeichen erforderlich. Zum Beispiel: %'x20s (verwenden Sie „x“ als Auffüllung) <🎜>
  • <🎜>- (Linksanpassung). Variablenwert). <🎜>
  • <🎜>[0-9] (Gibt die Mindestbreite des Variablenwerts an) <🎜>
  • <🎜>.[0-9 ] (Gibt die Anzahl der Dezimalstellen oder die maximale Zeichenfolgenlänge an) <🎜>
<🎜>Hinweis: Wenn mehrere der oben genannten Formatwerte verwendet werden, müssen diese in der oben genannten Reihenfolge verwendet werden und dürfen nicht verwendet werden gestört. <🎜>
arg1Erforderlich. Gibt den Parameter an, der am ersten %-Zeichen in der Formatzeichenfolge eingefügt werden soll.
arg2Optional. Gibt den Parameter an, der am zweiten %-Zeichen in die Formatzeichenfolge eingefügt werden soll.
arg++Optional. Gibt die Parameter an, die am dritten, vierten usw. %-Symbol in die Formatzeichenfolge eingefügt werden sollen.

技术细节

返回值:返回已格式化的字符串。
PHP 版本:4+

更多实例

实例 1

使用格式值 %f:

<?php
$number = 123;
$txt = sprintf("%f",$number);
echo $txt;
?>
Nach dem Login kopieren

实例 2

使用占位符:

<?php
$number = 123;
$txt = sprintf("With 2 decimals: %1$.2f
<br>With no decimals: %1$u",$number);
echo $txt;
?>
Nach dem Login kopieren

实例 3

所有可能的格式值的演示:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // The ASCII Character 50 is 2

// Note: The format value "%%" returns a percent sign
echo sprintf("%%b = %b",$num1)."<br>"; // Binary number
echo sprintf("%%c = %c",$char)."<br>"; // The ASCII Character
echo sprintf("%%d = %d",$num1)."<br>"; // Signed decimal number
echo sprintf("%%d = %d",$num2)."<br>"; // Signed decimal number
echo sprintf("%%e = %e",$num1)."<br>"; // Scientific notation (lowercase)
echo sprintf("%%E = %E",$num1)."<br>"; // Scientific notation (uppercase)
echo sprintf("%%u = %u",$num1)."<br>"; // Unsigned decimal number (positive)
echo sprintf("%%u = %u",$num2)."<br>"; // Unsigned decimal number (negative)
echo sprintf("%%f = %f",$num1)."<br>"; // Floating-point number (local settings aware)
echo sprintf("%%F = %F",$num1)."<br>"; // Floating-point number (not local sett aware)
echo sprintf("%%g = %g",$num1)."<br>"; // Shorter of %e and %f
echo sprintf("%%G = %G",$num1)."<br>"; // Shorter of %E and %f
echo sprintf("%%o = %o",$num1)."<br>"; // Octal number
echo sprintf("%%s = %s",$num1)."<br>"; // String
echo sprintf("%%x = %x",$num1)."<br>"; // Hexadecimal number (lowercase)
echo sprintf("%%X = %X",$num1)."<br>"; // Hexadecimal number (uppercase)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Sign specifier (positive)
echo sprintf("%%+d = %+d",$num2)."<br>"; // Sign specifier (negative)
?>
Nach dem Login kopieren

先举个最简单的案例

<?php
$str1="1234";

echo sprintf("hello%s","$str1");

//效果为: hello1234


?>
Nach dem Login kopieren

这什么意思呢

要点:

%s = %符号和后面属性符号(s)总称为插入标记组合,也就是把后面准备进行格式化的值($str1)替换在这个位置 

hello = 这个单词就是很多人蒙蔽的地方,告诉你这个什么代表也没有,就单纯的代表一个hello,用于分割或者修饰用,一般用[ %s ]、<%s>这样格式化出来后就直接在标签里

记住,一个%标记符后面只有一个类型属性(比如s),s是什么上面有,以字符串的方式格式化


Das obige ist der detaillierte Inhalt vonPHP schreibt den formatierten String mit sprintf() in eine Variable. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage