PHP fprintf() Function
PHP fprintf() Function
The fprintf() function in PHP outputs a formatted string.
This function operates as printf() but accepts an array of arguments, rather than a variable number of arguments.
Syntax
vprintf ( string $format , array $args )
Parameter
format(required)- This parameter specifies the string and how to format the variables in it.
The conversion specification of this parameter follows the given prototype: %[flags][width][.precision]specifier.
Flags
| Flag | Description |
| - | Left-justify within the given field width and by default, it follows the right justification |
| + | It signifies the prefix positive numbers with a plus sign (+). By default, only negative is prefixed with a negative sign. |
| (space) | It pads the result with spaces. This is the default. |
| 0 | It only left-pads numbers with zeros. With “s” specifiers this can also right-pad with zeros. |
| (char) | It pads the result with the character (char). |
Width
It signifies an integer that states how many characters (minimum) this conversion should result in.
Precision
- e, E, f and F specifiers: The number of digits to be printed after the decimal point (by default, it is 6).
- g and G specifiers: The maximum number of significant digits to be printed.
- s specifier: It acts as a cutoff point, setting a maximum character limit to the string.
If the period is specified without an explicit value for precision, 0 is assumed.
Specifiers
| Specifier | Description |
| % | It represents a literal percent character, and no other argument is required. |
| B | In this, the argument is treated as an integer and presented as a binary number. |
| C | In this, the argument is treated as an integer and presented as the character with that ASCII. |
| D | In this, the argument is treated as an integer and presented as a (signed) decimal number. |
| E | In this, the argument is treated as scientific notation. The precision specifier stands for the number of digits after the decimal point. |
| E | It is like the “e” specifier, but it uses the uppercase letter. |
| F | The argument is treated as a float and presented as a floating-point number (locale aware). |
| F | The argument is treated as a float and presented as a floating-point number (non-locale aware). |
| G | It represents a general format. |
| G | Unlike the “g” specifier but it also uses E and F. |
| O | In this, the argument is treated as an integer and presented as an octal number. |
| S | In this, the argument is treated and presented as a string. |
| U | In this, the argument is treated as an integer and presented as an unsigned decimal number. |
| X | The argument is treated as an integer and presented as a hexadecimal number (with lowercase letters). |
| X | The argument is treated as an integer and presented as a hexadecimal number (with uppercase letters). |
Type Handling
| Type | Specifiers |
| String | S |
| Integer | d, u, c, o, x, X, b |
| Double | g, G, e, E, f, F |
args(optional)- This parameter represents an array with arguments inserted at the third, fourth, etc. %-sign in the format string.
Return
This function returns the length of the outputted string
Example 1
Output
783.000000456.000000
Example 2
Output
2019-08-01
Example 3
Output
There are 9 towers owned by Reema.
Example 4
<?php
// initializing the number
$value = 9;
//initializing the string
$str = "TutorialandExample";
$file = fopen("test.txt","w");
echo fprintf($file," There are %u cycles in %s.",$value,$str);
?>
Output
42
Example 5
<?php
$number1 = 129784563;
$number2 = -129784563;
$char = 80; // The ASCII Character 80 is P
// Note: The format value "%%" returns a percent sign
printf("%%b = %b ",$number1); // return the Binary number
printf("\n%%c = %c ",$char); // The ASCII Character P
printf("\n%%d = %d ",$number1); // Signed decimal number
printf("\n%%d = %d ",$number2); // Signed negative decimal number
printf("\n%%e = %e ",$number1); // Scientific notation (lowercase)
printf("\n%%E = %E :",$number1); // Scientific notation (uppercase)
?>
Output
%b = 111101111000101101011110011 %c = P %d = 129784563 %d = -129784563 %e = 1.297846e+8 %E = 1.297846E+8
Example 6
<?php
$number1 = 129784563;
$number2 = -129784563;
// Note: The format value "%%" returns a percent sign
printf("%%u = %u ",$number1); // It returns the Unsigned decimal number (positive)
printf("\n%%u = %u ",$number2); // It returns the Unsigned decimal number (negative)
printf("\n%%f = %f ",$number1); // It returns the Floating-point number (local settings aware)
printf("\n%%F = %F ",$number1); // It returns the Floating-point number (not local settings aware)
printf("\n%%g = %g ",$number1); // It returns the Shorter of %e and %f
printf("\n%%G = %G ",$number1); // It returns the Shorter of %E and %f
printf("\n%%o = %o ",$number2); // It returns the Octal number
?>
Output
%u = 129784563 %u = 18446744073579767053 %f = 129784563.000000 %F = 129784563.000000 %g = 1.29785e+8 %G = 1.29785E+8 %o = 1777777777777020722415
