• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

函数sprintf()作用是什么

php 搞代码 4年前 (2022-01-23) 11次浏览 已收录 0个评论
文章目录[隐藏]

我的PHP手册中sprintf()的说明全是英文,我看不懂。有没有大侠能把该函数的作用(尤其是参数format)详细地说一下?

回复讨论(解决方案)

请 google 翻译了一下
% – 文字百分号。没有参数??是必需的。
b – 该参数被视为一个整数,并作为一个二进制数。
c – 接收参数被视为一个整数,并作为字符与ASCII值。
d – 该参数被视为一个来&源gao@dai!ma.com搞$代^码%网搞gaodaima代码整数,作为一个(符号)十进制数。
e – 该参数被视为科学记数法(比如1.5e +3 ) 。
u – 该参数被视为一个整数,并作为一个无符号十进制数。
f – 该参数被视为浮点,以及作为一个浮点数(语言环境感知) 。
F – 该参数被视为浮点,以及作为一个浮点数(非语言环境感知) 。从PHP 4.3.10和PHP 5.0.3 。
o – 该参数被视为一个整数,并作为一个八进制数。
s – 该参数被视为并作为一个字符串。
x – 将参数被视为一个整数,作为一个十六进制数(小写字母) 。
X- 将参数被视为一个整数,作为一个十六进制数(用大写字母) 。

例:
echo sprintf(‘%b %c %d %u %e %f %F %o %s %x %X’, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65);
1000001 A 65 65 6.500000e+1 65.000000 65.000000 101 65 41 41

是不是只有浮点型才会有“%.2f”的参数format?

是的
%.2f 表示按 2 位小数格式化

整数自然是没有小数的

sprintf() 函数把格式化的字符串写写入一个变量中。
sprintf(format,arg1,arg2,arg++)
参数
format 必需。转换格式。
arg1 必需。规定插到 format 字符串中第一个 % 符号处的参数。
arg2 可选。规定插到 format 字符串中第二个 % 符号处的参数。
arg++ 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。

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

输出:
Hello world. Day number 123

还有没有其他人补充了?

还有什么好补充的?
1. sprintf是 格式化输出,也就是按照你要的格式输出,类似模板

2. 与print不同,sprintf并不会直接打印到屏幕,因此你可以用它给变量赋值。如 $s = sprintf(………………);

w3school里sprintf()部分的一句话:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符插到 % 符号后面,由数字和 “\$” 组成。
上面这句话中的数字是指的什么?

这是 php 特有的一个方式,使用的并不多(他给的例子已经说得很清楚了)
这是正常的写法

$a = 123;$b = 1111;$txt = sprintf("%.2f  %u",$a, $b);echo $txt;

123.00 1111
当写作

$txt = sprintf("%2\$.2f  %1\$u",$a, $b);echo $txt;

1111.00 123
可以看到对应位置的值发生了变化
于是可知:数字表示的是参数的序号

非常感谢,结帖。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:函数sprintf()作用是什么

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址