当前位置: 首页 > 网络学院 > 服务端脚本教程 > PHP > sprintf() 函数

PHP
PHP 安全邮件
MySQL 介绍
连接 MySQL
创建 MySQL
MySQL 插入记录
MySQL 选择记录
MySQL Where
MySQL Order By
MySQL 记录更新
MySQL 删除记录
PHP ODBC
XML Expat Parser
XML SimpleXML
PHP 数组参考
PHP Calendar
PHP Date
PHP Directory
PHP Filesystem
PHP FTP
PHP HTTP

PHP 中的 sprintf() 函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-03-04   浏览: 547 ::
收藏到网摘: n/a

Definition and Usage
定义和用法

The sprintf() function writes a formatted string to a variable.
sprintf()函数的作用是:输出格式化字符串到变量。

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.
arg1, arg2, ++参数将被插入到主体字符串中的百分号(%)之后。这个函数是“一步一步[step-by-step]”执行的。在第一个“%”之后插入arg1,在第二个“%”之后插入arg2,依次类推。

Syntax
语法

sprintf(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
    %b –返回二进制数
  • %c - The character according to the ASCII value
    %c –返回与ASCII值相对应的字符
  • %d - Signed decimal number
    %d –带有正负号的十进制数
  • %e - Scientific notation (e.g. 1.2e+2)
    %e –科学计数符号(如:1.2e+2)
  • %u - Unsigned decimal number
    %u –不带正负号的十进制数
  • %f - Floating-point number (local settings aware)
    %f – 浮点数据(本地设置)
  • %F - Floating-point number (not local settings aware)
    %F –浮点数据(非本地设置)
  • %o - Octal number
    %o –十进制数
  • %s - String
    %s –字符串
  • %x - Hexadecimal number (lowercase letters)
    %x –十六进制数(小写字母)
  • %X - Hexadecimal number (uppercase letters)
    %X –十六进制数(大写字母)

Additional format values. These are placed between the % and the letter (example %.2f):
其它格式的值。它是位于%和字母之间的(如:%.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)
    ’(指定使用什么作为补白,默认值是空格。它必须与宽度指定器一起使用。如:%'x20s(使用“x”作为padding))
  • - (Left-justifies the variable value)
    - (左调整变量值)
  • [0-9] (Specifies the minimum width held of to the variable value)
    [0-9](指定变量值的最小宽度)
  • .[0-9] (Specifies the number of decimal digits or maximum string length)
    .[0-9](指定十进制数值或最大字符串长度)

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
必要参数。这个自变量(arg1)必须安插在第一个%-符号前
arg2 Optional. The argument to be inserted at the second %-sign in the format string
可选参数。这个自变量(arg2)必须安插在第二个%-符号前
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.
注意:注意:如果这里的%比自变量更多,你必须使用占位符[placeholders]。占位符是安插在%之后的,它是由自变量-数字和“$”组成的。具体可以见案例3。

Tip: Related functions: fprintf(), printf(), vfprintf(), vprintf(), and vsprintf().
提示:相关函数:printf(), sprintf(), vfprintf(), vprintf(), 和 vsprintf()


Example 1
案例1

<?php
$str = "Hello";
$number = 123;
$txt = sprintf("%s world. Day number %u",$str,$number);
echo $txt;
?> 

The output of the code above will be:
上述代码将输出下面的结果:

Hello world. Day number 123


Example 2
案例2

<?php
$number = 123;
$txt = sprintf("%f",$number);
echo $txt;
?>

The output of the code above will be:
上述代码将输出下面的结果:

123.000000


Example 3
案例3

Use of placeholders:
使用占位符:

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

The output of the code above will be:
上述代码将输出下面的结果:

With 2 decimals: 123.00
With no decimals: 123

评论 (0) All

登陆 | 还没注册?