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; ?>
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++)
Parameter | Beschreibung | ||||||||||
format | Erforderlich. Gibt eine Zeichenfolge und die Formatierung der darin enthaltenen Variablen an.
| ||||||||||
arg1 | Erforderlich. Gibt den Parameter an, der am ersten %-Zeichen in der Formatzeichenfolge eingefügt werden soll. | ||||||||||
arg2 | Optional. 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; ?>
实例 2
使用占位符:
<?php $number = 123; $txt = sprintf("With 2 decimals: %1$.2f <br>With no decimals: %1$u",$number); echo $txt; ?>
实例 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) ?>
先举个最简单的案例
<?php $str1="1234"; echo sprintf("hello%s","$str1"); //效果为: hello1234 ?>
这什么意思呢
要点:
%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!