导读 跟大家讲解下有关php sprintf函数怎么用,相信小伙伴们对这个话题应该也很关注吧,现在就为小伙伴们说说php sprintf函数怎么用,小编
跟大家讲解下有关php sprintf函数怎么用,相信小伙伴们对这个话题应该也很关注吧,现在就为小伙伴们说说php sprintf函数怎么用,小编也收集到了有关php sprintf函数怎么用的相关资料,希望大家看到了会喜欢。
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是什么上面有以字符串的方式格式化
那么多个值怎么格式化一起呢
看:
<?php$a="abcdef";$b="abcdef";$c="1234";echo sprintf("%1$s%2$s",$c,$a);//效果为: 12child34abcdef?>
%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是补位值呢因为前面有'
号
为什么他能识别哪几位是哪种类型呢他是这样识别的按顺序从先从两头的字符开始识别是什么类型补位值肯定是单数位不可能一个位置补两个数吧所以左边第一位x是补位值右边第一位是格式化类型然后中间的自然是宽度值
第二为什么小数点 后还有一个属性 因为这是f(浮点型)必须设置小数点后有几位不能小数后面不能设置了吧那浮点数意义何在呢
不要觉得烦每个例子都是浓缩出来的
整数补位:
<?php$a="abcdef";$b="abcdef";$c="1234";echo sprintf("%'07s",$c);//结果是:0001234?>
这就是整数补位还是一样第一步按照格式 % ‘(补位值) 宽度值 格式化类型 这三部分
0是补位值 7是宽度值 s自然是格式化类型
还有一种最重要的例子
<?php$a="abcdef";$b="abcdef";$c="1234";ech边城沈从文o sprintf("[%-6s]",$c); //结果是:[1234 ]echo sprintf("[%-4s]",$c); //结果是:[1234]echo sprintf("[%4.2s]",$c); //结果是:[ 12]?>
这个第一步 [ ] 仅仅只是修饰不用理解
第二步没有 ‘ 号证明没有补位无需添加补位值
所以语法格式为 : % 宽度值 格式化类型 这两部分
第一二行解释如下:
第一个宽度为6但是$c=1234 只有4个字符所以宽度不够所以右边自动扩充(扩充再多也只显示一个空格位置)为什么在右边扩充因为宽度前有个 – 号代表补位方向相反如在补位值前加-自然从右边开始补位
下面为什么没变化因为宽度正好一致只是补位的方向改变了
第三行解释如下:
不要被蒙蔽了语法结构还是一样 % 宽度值 格式化类型 这两部分
没有 ‘ 号证明没有补位无需添加补位值
所以4.2依旧是宽度值
只是小数点左边的4代表总宽度右边的2代表只显示2位出来所以又空缺了两个所以左边开始扩充两个空位为什么只显示一个空格上一段说了再说一次吧扩充再多也只显示一个空格位置。默认从左边开始
推荐学习:《PHP视频教程》
以上就是php sprintf函数怎么用的详细内容!
来源:php中文网
本文发布于:2023-02-25 03:21:46,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/167726650635548.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:互联网常识:php sprintf函数怎么用.doc
本文 PDF 下载地址:互联网常识:php sprintf函数怎么用.pdf
留言与评论(共有 0 条评论) |