php sprintf 函数最新详解--转

本文详细介绍了 PHP 中的 sprintf 函数,包括其定义、用法、语法格式及参数说明,并通过多个实例展示了如何使用该函数进行字符串格式化操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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描述
formatRequired. 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.
注意:如果使用附加格式值,那么它必须与上述顺序相同

arg1Required. The argument to be inserted at the first %-sign in the format string
必要参数。这个自变量(arg1)必须安插在第一个%-符号前
arg2Optional. 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

 

 

 

http://www.akii.org/2009-03/php-sprintf-function-explain/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值