PHP sprintf() Function
The sprintf() function is used to writes a formatted string to a variable. It returns a formatted string.
Syntax
sprintf(format,arg1,arg2)
| Parameter | Description |
|---|---|
| Format | (Required) Specify the strings how to format the variable in it . |
| %% | It returns a percent (%) sign. |
| %b | The argument is presented as a binary number. |
| %c | The parameter is treated as an integer and represented as the character with that ASCII. |
| %d | The parameter is treated as a positive integer and represented as a decimal number. |
| %e | Scientific notation with lowercase, e.g., 1.2e+2. The precision specifier specifies that the number of digits after the decimal point to be printed. |
| %E | Similar to the e specifier but the scientific notation with uppercase, e.g., 1.2E+2. |
| %u | The parameter is treated as an integer and represented as an unsigned integer. |
| %f | Floating-point number (locale aware). |
| %f | Floating-point number (non-locale aware). |
| %g | It is a general format. |
| %G | Similar to g specifier but it uses E and F. |
| %o | Represented as an octal number. |
| %s | The argument is treated as well as presented as a string. |
| %x | It is represented as a hexadecimal number with lowercase letters. |
| %X | It is represented as a hexadecimal number with lowercase letters. |
| arg1 | (Required)The argument to be added the first %-sign in the formatted string |
| arg2,arg3 | (optional)These arguments to be added the second%,third% etc. in the formatted string |
Example
<?php $num = 100; sprintf("%d",$num); ?>
Output
100
A demonstration of all possible format values:
<?php $a = 83588709; $num2 = -83588709; $ch = 65; echo sprintf("%%b = %b",$a)."<br>"; // Binary echo sprintf("%%c = %c",$ch)."<br>"; // ASCII echo sprintf("%%d = %d",$a)."<br>"; // Signed decimal echo sprintf("%%e = %e",$a)."<br>"; // lowercase echo sprintf("%%E = %E",$a)."<br>"; // uppercase echo sprintf("%%u = %u",$a)."<br>"; // Unsigned decimal (positive) echo sprintf("%%u = %u",$b)."<br>"; // Unsigned decimal (negative) echo sprintf("%%f = %f",$a)."<br>"; // Floating-point (ls aware) echo sprintf("%%F = %F",$a)."<br>"; // Floating-point (not aware) echo sprintf("%%g = %g",$a)."<br>"; // Shorter of %e and %f echo sprintf("%%G = %G",$a)."<br>"; // Shorter of %E and %f echo sprintf("%%o = %o",$a)."<br>"; // Octal number ?>
Output
%b = 100111110110111011001100101 %c = A %d = 83588709 %e = 8.358871e+7 %E = 8.358871E+7 %u = 83588709 %u = 0 %f = 83588709.000000 %F = 83588709.000000 %g = 8.35887e+7 %G = 8.35887E+7 %o = 476673145