Home >Backend Development >PHP Tutorial >PHP writes the formatted string into a variable using sprintf()
Example
Replace the percent sign (%) symbol with a variable passed as a parameter:
<?php $number = 9; $str = "Beijing"; $txt = sprintf("There are %u million bicycles in %s.",$number,$str); echo $txt; ?>
Definition and usage
sprintf() function changes the format The string is written into a variable.
arg1, arg2, ++ parameters will be inserted into the main string at the percent sign (%) symbol. This function is executed step by step. At the first % sign, insert arg1, at the second % sign, arg2, and so on.
Note: If there are more % symbols than arg arguments, you must use placeholders. The placeholder is inserted after the % symbol and consists of a number and "\$". See Example 2.
Tips: Related functions: printf(), vprintf(), vsprintf(), fprintf() and vfprintf()
Syntax
sprintf(format,arg1,arg2,arg++)
Parameters | Description | ||||
format | Required. Specifies a string and how to format variables within it. Possible format values:
+ (Add + or - in front of a number to define the sign of the number. By default, only Negative numbers are marked, positive numbers are not marked)
|
||||
arg2 | |||||
arg++ | |||||
技术细节
更多实例 实例 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 ]、8f575e34f3b5e73f5def4db6e2da22c8这样格式化出来后就直接在标签里 记住,一个%标记符后面只有一个类型属性(比如s),s是什么上面有,以字符串的方式格式化 |
The above is the detailed content of PHP writes the formatted string into a variable using sprintf(). For more information, please follow other related articles on the PHP Chinese website!