PHP writes the formatted string into a variable using the function vsprintf()

黄舟
Release: 2023-03-17 07:26:02
Original
1672 people have browsed it

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;
?>
Copy after login

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)
Copy after login
Required. An array with parameters to be inserted into the format string at % symbols.
ParametersDescription
formatRequired. Specifies a string and how to format variables within it.

Possible format values:

  • %% - returns a percent sign %

  • %b - a binary number

  • %c - the character corresponding to the ASCII value

  • %d - the decimal number containing the sign (negative, 0, positive)

  • %e - Use lowercase scientific notation (e.g. 1.2e+2)

  • ##%E - Use uppercase scientific notation (e.g. 1.2E+ 2)

  • %u - Decimal number without sign (greater than or equal to 0)

  • %f - Floating point number (local setting) )

  • %F - floating point number (non-native setting)

  • ##%g - shorter %e and %f
  • %G - shorter %E and %f
  • ##%o - octal number
  • %s - character String
  • %x - Hexadecimal number (lowercase letters)
  • ##%X - Hexadecimal number (uppercase letters)

  • Additional format value. Must be placed between % and a letter (e.g. %.2f):

+ (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)

  • ' (Specifies what to use as padding, the default is spaces. It must be used with the width specifier. For example: %'x20s ( Use "x" as padding))

  • - (Adjust the variable value left)

  • [0-9] (Specify the minimum variable value Width)

  • .[0-9] (Specifies the number of decimal places or the maximum string length)

  • Note: If you use more than one of the above The format values ​​must be used in the order above and cannot be disrupted.

argarray

技术细节

返回值:以格式化字符串的形式返回数组值。
PHP 版本:4.1.0+

更多实例

实例 1

使用格式值 %f:

<?php
$num1 = 123;
$num2 = 456;
$txt = vsprintf("%f%f",array($num1,$num2));
echo $txt;
?>
Copy after login

实例 2

使用占位符:

<?php
$number = 123;
$txt = vsprintf("With 2 decimals: %1$.2f
<br>With no decimals: %1$u",array($number));
echo $txt;
?>
Copy after login

实例 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)
?>
Copy after login

实例 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("[%&#39;*8s]",array($str1))."<br>";
echo vsprintf("[%8.8s]",array($str2))."<br>"; 
?>
Copy after login


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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template