Home >Backend Development >PHP Tutorial >PHP writes the formatted string into a variable using the function vsprintf()
Example
Write the formatted string into the variable:
<?php $number = 9; $str = "Beijing"; $txt = vsprintf("There are %u million bicycles in %s.",array($number,$str)); echo $txt; ?>
Definition and usage
vsprintf() function writes the formatted string into the variable.
Unlike sprintf(), the parameters in vsprintf() are in an array. Array elements will be inserted into the main string at the percent sign (%). This function is executed step by step. At the first % sign, the first array element is inserted, at the second % sign, the second array element is inserted, 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.
Tip: Related functions: fprintf(), vfprintf(), printf(), sprintf() and vprintf()
Syntax
vsprintf(format,argarray)
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)
|
||||
技术细节
更多实例 实例 1 使用格式值 %f: <?php $num1 = 123; $num2 = 456; $txt = vsprintf("%f%f",array($num1,$num2)); echo $txt; ?> 实例 2 使用占位符: <?php $number = 123; $txt = vsprintf("With 2 decimals: %1$.2f <br>With no decimals: %1$u",array($number)); echo $txt; ?> 实例 3 使用 sprintf() 来演示所有可能的格式值: <?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) ?> 实例 4 字符串说明符的演示: <?php $str1 = "Hello"; $str2 = "Hello world!"; echo vsprintf("[%s]",array($str1))."<br>"; echo vsprintf("[%8s]",array($str1))."<br>"; echo vsprintf("[%-8s]",array($str1))."<br>"; echo vsprintf("[%08s]",array($str1))."<br>"; echo vsprintf("[%'*8s]",array($str1))."<br>"; echo vsprintf("[%8.8s]",array($str2))."<br>"; ?> |
The above is the detailed content of PHP writes the formatted string into a variable using the function vsprintf(). For more information, please follow other related articles on the PHP Chinese website!