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

php sprintf函数怎么用

php 搞代码 4年前 (2022-01-04) 22次浏览 已收录 0个评论

sprintf()是PHP中的内置函数,可以用于把字符串进行多种类型的格式化,然后返回已格式化的字符串;在处理xml数据格式时,需要用到该函数来格式化。语法格式“sprintf(format,arg1,arg2,arg++)”。

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

PHP sprintf() 函数

sprintf() 函数把格式化的字符串写入一个变量中。

  • 用处:把字符串进行多种类型的格式化

  • 用于:处理xml数据格式时,需要用到他来格式化等等

arg1、arg2、++ 参数将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。

注释:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入到 % 符号之后,由数字和 "\$" 组成。

语法:

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

返回值:返回已格式化的字符串。

示例:

<?php
$str1="1234";
echo sprintf("hello%s","$str1");
//效果为: hello1234
?>

这什么意思呢

要点:

%s = %符号和后面属性符号(s)总称为插入标记组合,也就是把后面准备进行格式化的值($str1)替换在这个位置

hello = 这个单词就是很多人蒙蔽的地方,告诉你这个什么代表也没有,就单纯的代表一个hello,用于分割或者修饰用,一般用[ %s ]、<%s>这样格式化出来后就直接在标签里

记住,一个%标记符后面只有一个类型属性(比如s),s是什么上面有,以字符串的方式格式化

那么多个来源gaodai#ma#com搞@代~码网值怎么格式化一起呢?

看:

<?php
$a="abcdef";
$b="abcdef";
$c="1234";
echo sprintf("%1\$s%2\$s",$c,$a);
//效果为: 1234abcdef
?>

%s为一个标记,两个%s%s这样写却是错误的,每个%s必须标记键位,不然我怎么知道都代表格式化后面的哪个$str呢,所以有个特别的语法

%1\$%2\$ 解释:%1表示格式化sprintf("%1\$%2\$",''$str1","$str2")中对应的$str1,那么%2自然表示格式化$str2,\$是代表有多个值准备格式化,所以每个%1和%2或者还有%3的标记后都要加这个符号代表一行中有多个标记,如果只有一个标记就不用\$了占位符了,记住$str2、$str3是可选,也就是可以不格式化这么多

讲个特殊的例子

<?php
$a="abcdef";
$b="abcdef";
$c="1234";
echo sprintf("%'x13.2f",$c);
// 效果为:xxxxxx1234.00
//echo sprintf("%06.2f", $a);
?>

sprintf("%'x13.2f",$c);是什么意思,f是浮点数,第一步按照格式 % '(补位值) 宽度值 格式化类型 这三部分,语法之间必须紧挨着不能用空格

必须解释一下何为补位值:就是设定的宽度超出了,用这个值来填上

解释一下,补位值只有设置宽度超出了目标值才能用

所以就是用x补位,13为总宽度,2为小数点后的宽度,f为格式化类型,别急我会解释

' 号(单引号)代表接下来要用补位类型

为什么他能识别x是补位值呢,因为前面有 ' 号,


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

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

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

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

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