Home  >  Article  >  Backend Development  >  PHP outputs formatted string function printf()

PHP outputs formatted string function printf()

黄舟
黄舟Original
2017-11-02 14:01:382330browse

Example

Output a formatted string:

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

Definition and usage

The printf() function outputs a formatted string.

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

Note: If there are more % symbols than arg arguments, you must use placeholders. The placeholder is inserted after the % symbol and consists of a number and "\$". See Example 2.

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

Syntax

printf(format,arg1,arg2,arg++)
Required. Specifies the parameters to be inserted at the first % sign in the format string. Optional. Specifies the parameter to be inserted into the format string at the second % sign. Optional. Specifies the parameters to be inserted into the format string at the third, fourth, etc. % symbols.
Parameters Description
format Required. Specifies a string and how to format variables within it.

Possible format values:

  • %% - returns a percent sign %

  • %b - a binary number

  • %c - the character corresponding to the ASCII value

  • %d - the decimal number containing the sign (negative, 0, positive)

  • %e - Use lowercase scientific notation (e.g. 1.2e+2)

  • ##%E - Use uppercase scientific notation (e.g. 1.2E+ 2)

  • %u - Decimal number without sign (greater than or equal to 0)

  • %f - Floating point number (local setting) )

  • %F - floating point number (non-native setting)

  • ##%g - shorter %e and %f
  • %G - shorter %E and %f
  • ##%o - octal number
  • %s - character String
  • %x - Hexadecimal number (lowercase letters)
  • ##%X - Hexadecimal number (uppercase letters)

  • Additional format value. Must be placed between % and a letter (e.g. %.2f):

+ (Add + or - in front of a number to define the sign of the number. By default, only Negative numbers are marked, positive numbers are not marked)

  • ' (Specifies what to use as padding, the default is spaces. It must be used with the width specifier. For example: %'x20s ( Use "x" as padding))

  • - (Adjust the variable value left)

  • [0-9] (Specify the minimum variable value Width)

  • .[0-9] (Specifies the number of decimal places or the maximum string length)

  • Note: If you use more than one of the above The format values ​​must be used in the order above and cannot be disrupted.

arg1
arg2
arg++

技术细节

返回值:             返回被输出字符串的长度。    

PHP 版本:         4+    

更多实例

实例 1

使用格式值 %f:

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

实例 2

使用占位符:

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

实例 3

所有可能的格式值的演示:

<?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)
?>

实例 4

字符串说明符的演示:

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

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

printf()函数优点在于可以格式化输出!

printf的格式控制的完整格式:

% - 0 m.n l或h 格式字符

下面对组成格式说明的各项加以说明:

①%:表示格式说明的起始符号,不可缺少。

②-:有-表示左对齐输出,如省略表示右对齐输出。

③0:有0表示指定空位填0,如省略表示指定空位不填。

④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。

⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。


The above is the detailed content of PHP outputs formatted string function printf(). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn