PHP printf()Function

PHP String 参考手册PHP String Reference Manual

Examples

Output formatted string:

<?php
$number = 9;
$str = "Beijing";
printf("There are %u million bicycles in %s.",$number,$str);
?>

Run example »

Definition and Usage

The printf() function outputs a formatted string.

The arg1, arg2, ++ parameters will be inserted into the main string at percent (%) signs. This function is executed step by step. At the first % sign, arg1 is inserted, at the second % sign, arg2 is inserted, and so on.

Note:If there are more % signs than arg parameters, you must use placeholders. A placeholder is inserted after the % sign and consists of a number and "\$". See example 2.

Tip:Related functions:sprintf()、 vprintf()、 vsprintf()、 fprintf()andvfprintf()


Syntax

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

Parameters Description
format Required. Specifies the string and how to format the variables within it.

Possible format values:

  • %% - Returns a percent sign %
  • %b - Binary number
  • %c - The character corresponding to the ASCII value
  • %d - Signed decimal number (negative, zero, positive)
  • %e - Scientific notation using lowercase (e.g. 1.2e+2)
  • %E - Scientific notation using uppercase (e.g. 1.2E+2)
  • %u - Unsigned decimal number (greater than or equal to 0)
  • %f - Floating-point number (local settings)
  • %F - Floating-point number (non-local settings)
  • %g - Shortest of %e and %f
  • %G - Shortest of %E and %f
  • %o - Octal number
  • %s - String
  • %x - Hexadecimal number (lowercase letters)
  • %X - Hexadecimal number (uppercase letters)

Additional format values. Must be placed between % and the letter (e.g. %.2f):

  • + (Adds + or - before a number to define its sign. By default, only negative numbers are marked, positive numbers are not)
  • ' (Specifies what to use as padding, default is a space. It must be used together with the width specifier. For example: %'x20s (uses "x" as padding))
  • - (Left-adjusts the variable value)
  • [0-9] (Specifies the minimum width of the variable value)
  • .[0-9] (Specifies the number of decimal places or maximum string length)

Note:If multiple of the above format values are used, they must be used in the order shown above, without mixing them up.

arg1 Required. Specifies the parameter to be inserted at the first % sign in the format string.
arg2 Optional. Specifies the parameter to be inserted at the second % sign in the format string.
arg++ Optional. Specifies the parameters to be inserted at the third, fourth, etc. % signs in the format string.

Technical Details

Return value: Returns the length of the outputted string.
PHP Version: 4+


More Examples

Example 1

Using format value %f:

<?php
$number = 123;
printf("%f",$number);
?>

Run example »

Example 2

Using placeholders:

<?php
$number = 123;
printf("With 2 decimals: %1$.2f
<br>With no decimals: %1$u",$number);
?>

Run example »

Example 3

Demonstration of all possible format values:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // The ASCII Character 50 is 2

// Note: The format value "%%" returns a percent sign
printf("%%b = %b <br>",$num1); // Binary number
printf("%%c = %c <br>",$char); // The ASCII Character
printf("%%d = %d <br>",$num1); // Signed decimal number
printf("%%d = %d <br>",$num2); // Signed decimal number
printf("%%e = %e <br>",$num1); // Scientific notation (lowercase)
printf("%%E = %E <br>",$num1); // Scientific notation (uppercase)
printf("%%u = %u <br>",$num1); // Unsigned decimal number (positive)
printf("%%u = %u <br>",$num2); // Unsigned decimal number (negative)
printf("%%f = %f <br>",$num1); // Floating-point number (local settings aware)
printf("%%F = %F <br>",$num1); // Floating-point number (not local settings aware)
printf("%%g = %g <br>",$num1); // Shorter of %e and %f
printf("%%G = %G <br>",$num1); // Shorter of %E and %f
printf("%%o = %o <br>",$num1); // Octal number
printf("%%s = %s <br>",$num1); // String
printf("%%x = %x <br>",$num1); // Hexadecimal number (lowercase)
printf("%%X = %X <br>",$num1); // Hexadecimal number (uppercase)
printf("%%+d = %+d <br>",$num1); // Sign specifier (positive)
printf("%%+d = %+d <br>",$num2); // Sign specifier (negative)
?>

Run example »

Example 4

Demonstration of string specifiers:

<?php
$str1 = "Hello";
$str2 = "Hello world!";

printf("[%s]<br>",$str1);
printf("[%8s]<br>",$str1);
printf("[%-8s]<br>",$str1);
printf("[%08s]<br>",$str1);
printf("[%'*8s]<br>",$str1);
printf("[%8.8s]<br>",$str2);
?>

Run example »


PHP String 参考手册PHP String Reference Manual Other Extensions