Instance
Replace the percent sign (%) with a variable that is passed as a parameter:
<?php$number = 9; $str = "Beijing"; $txt = sprintf ("There is%u million bicycles in%s.", $number, $STR); Echo $txt; >
Definition and usage
The sprintf () function writes a formatted string to a variable.
The Arg1, arg2, + + parameters are inserted into the percent sign (%) symbol in the main string. This function is executed step-by. At the first% symbol, insert arg1, insert arg2 at the second% symbol, and so on.
Note: If the% symbol is more than the arg parameter, you must use a placeholder. Placeholders are inserted after the% symbol, consisting of numbers and "\$". See Example 2.
Tip: Related functions: printf (), vprintf (), vsprintf (), fprintf (), and vfprintf ()
Grammar
sprintf (format,arg1,arg2,arg++)
Parameters |
Describe |
Format |
Necessary. Specifies the string and how to format the variable. Possible format values:
Percent percent-returns a percent semicolon%
%b-Binary number
The character that corresponds to the%C-ASCII value
%d-decimal number with sign (negative, 0, positive)
%e-Using the lowercase scientific notation (e.g. 1.2e+2)
%E-Use uppercase scientific notation (e.g. 1.2E+2)
%u-decimal number with no sign (greater than or equal to 0)
%f-Floating point number (local setting)
%F-Floating point number (non-local setting)
%g-Shorter%e and%f
%G-Shorter%E and%f
%o-Eight binary number
%s-String
%x-16 binary number (lowercase letters)
%x-16 decimal digits (uppercase letters)
The attached format value. Must be placed between% and letter (e.g.%.2f):
+ (precede the number with + or-to define the positive and negative of the number.) By default, only negative numbers are marked, positive numbers are not marked.
' (specifies what to use as a fill, the default is a space.) It must be used with the width of the specified device. For example:% ' x20s (using "X" as the fill))
-(left adjustment variable value)
[0-9] (minimum width of the specified variable value)
. [0-9] (Specify the number of decimal digits or the maximum string length)
Note: If you use more than one of the above format values, they must be used in the order above and cannot be disrupted. |
Arg1 |
Necessary. Specifies the parameter that is inserted into the first% symbol in the format string. |
Arg2 |
Optional. Specifies the parameter that is inserted into the second% symbol in the format string. |
arg++ |
Optional. Specifies the parameter that is inserted into the format string third to fourth, and so on, in the% symbol. |
Technical details
return value: |
Returns the formatted string. |
PHP version: |
4 + |
More examples
Example 1
Use the format value%f:
<?php$number = 123; $txt = sprintf ("%f", $number); Echo $txt; >
Example 2
Use placeholders:
<?php$number = 123; $txt = sprintf ("With 2 decimals:%1$.2f<br>with no decimals:%1$u", $number); Echo $txt; >
Example 3
Demo of all possible format values:
<?PHP$NUM1 = 123456789; $num 2 = -123456789; $char = 50; The ASCII Character is 2//note:the format value "percent" returns a percent Signecho sprintf ("%%b =%b", $num 1). " <br> "; Binary Numberecho sprintf ("%%c =%c", $char). " <br> "; The ASCII characterecho sprintf ("%%d =%d", $num 1). " <br> "; Signed decimal Numberecho sprintf ("%%d =%d", $num 2). " <br> "; Signed decimal Numberecho sprintf ("%%e =%e", $num 1). " <br> "; Scientific notation (lowercase) echo sprintf ("%%e =%E", $num 1). " <br> "; Scientific notation (uppercase) echo sprintf ("%%u =%u", $num 1). " <br> "; Unsigned decimal number (positive) echo sprintf ("%%u =%u", $num 2). " <br> "; Unsigned decimal number (negative) echo sprintf ("%%f =%f", $num 1). " <br> "; Floating-point number (Local settings Aware) echo sprintf ("%%f =%F", $num 1). " <br> "; Floating-point number (not local sett aware) echo sprintf ("%%g =%g", $num 1). " <br> "; Shorter of%e and%fecho sprintf ("%%g =%G ", $num 1)." <br> "; Shorter of%E and%fecho sprintf ("%%o =%o", $num 1). " <br> "; Octal Numberecho sprintf ("%%s =%s", $num 1). " <br> "; Stringecho sprintf ("%%x =%x", $num 1). " <br> "; Hexadecimal number (lowercase) echo sprintf ("%%x =%x", $num 1). " <br> "; Hexadecimal number (uppercase) echo sprintf ("%%+d =%+d", $num 1). " <br> "; Sign specifier (positive) echo sprintf ("%%+d =%+d", $num 2). " <br> "; Sign specifier (negative)?>
Let's start with a simple case.
<?php$str1= "1234"; Echo sprintf ("hello%s", "$str 1");//Effect: hello1234?>
What does that mean?
Points:
The%s =% symbol and the trailing attribute symbol (s) are always called insert tag combinations, which are the values ($STR 1) that are prepared to be formatted later in this position
Hello = This word is a lot of people blinded by the place, tell you this is not a representative, simply represent a hello, used for segmentation or modification, generally used [%s], <%s> so formatted directly in the label
Remember, a% marker is followed by only one type attribute (such as s), what s is above, formatted as a string