Blog : PHP printf() Function

PHP printf() Function


--------------------------------------------------------------------------------
 Complete PHP String Reference
--------------------------------------------------------------------------------

Definition and Usage
The printf() function outputs a formatted string.

The arg1, arg2, ++ parameters will be inserted at percent (%) signs in the main string. This function works "step-by-step". At the first % sign, arg1 is inserted, at the second % sign, arg2 is inserted, etc.

Syntax
printf(format,arg1,arg2,arg++)  

Parameter Description
format Required. Specifies the string and how to format the variables in it.
Possible format values:

%% - Returns a percent sign
%b - Binary number
%c - The character according to the ASCII value
%d - Signed decimal number
%e - Scientific notation (e.g. 1.2e+2)
%u - Unsigned decimal number
%f - Floating-point number (local settings aware)
%F - Floating-point number (not local settings aware)
%o - Octal number
%s - String
%x - Hexadecimal number (lowercase letters)
%X - Hexadecimal number (uppercase letters)
Additional format values. These are placed between the % and the letter (example %.2f):

+ (Forces both + and - in front of numbers. By default, only negative numbers are marked)
' (Specifies what to use as padding. Default is space. Must be used together with the width specifier. Example: %'x20s (this uses "x" as padding)
- (Left-justifies the variable value)
[0-9] (Specifies the minimum width held of to the variable value)
.[0-9] (Specifies the number of decimal digits or maximum string length)
Note: If multiple additional format values are used, they must be in the same order as above.
 
arg1 Required. The argument to be inserted at the first %-sign in the format string
arg2 Optional. The argument to be inserted at the second %-sign in the format string
arg++ Optional. The argument to be inserted at the third, fourth, etc. %-sign in the format string


--------------------------------------------------------------------------------

Tips and Notes
Note: If there are more % signs than arguments, you must use placeholders. A placeholder is inserted after the % sign, and consists of the argument- number and "\$". See example three.

Tip: Related functions: fprintf(), sprintf(), vfprintf(), vprintf(), and vsprintf().


--------------------------------------------------------------------------------

Example 1
$str = "Hello";
$number = 123;
printf("%s world. Day number %u",$str,$number);
?>  

The output of the code above will be:

Hello world. Day number 123  


--------------------------------------------------------------------------------

Example 2
$number = 123;
printf("%f",$number);
?>  

The output of the code above will be:

123.000000  


--------------------------------------------------------------------------------

Example 3
Use of placeholders:

$number = 123;
printf("With 2 decimals: %1\$.2f

With no decimals: %1\$u",$number);
?>  

The output of the code above will be:

With 2 decimals: 123.00
With no decimals: 123