php函数-wordwrap,sprintf,ucwords,ucfirst,substr_replace

 RorinL     2022年01月22日 星期六 15:56:54     php   未分类      php   php函数    

1.wordwrap(字符串,列宽度,打断符(可),是否截断(可)默认false)

作用:以指定长度打断字符串折行处理

当第四参数为true,当达到指定宽度就切断无论是否单词;而默认false则如果单词过长不会分割单词

 

2.sprintf(string $format,…$values):string

作用:格式化字符串,根据…values

直接来看栗子?

补位:

$location = “小区”;
$qian = 233;
echo sprintf(“震惊!在%’x9s发现特没普,他有%’x10.1f亿身价”,$str,$qian);
//输出
震惊!在xxx小区发现特没普,他有xxxxx233.0亿身价

%’x9s:  %-‘(补位)-x(补位符是什么)-9(返回字符串长度)-s(数据类型字符串类型)
‘: ‘代表接下来要补位
x: x表示补位的字符是什么
9: 9表示返回字符串长度;注意的是$location是”小区”,而中文是占3个字节的,所以”xxx”长度是3,而”小区”长度是6,即返回长度是我指定的9

“%’x10.1f”是同样的道理:长度10,以x填充的且保留1位小数的浮点数

 

使用同一个参数:

$intnum = 123;
$floatnum = 123.4;
$str = ‘hi’;
echo sprintf(“%s,你可以借我%2\$d块吗?我%2\$d天后还你%3\$.1f元”,$str,$intnum,$floatnum);
//输出
hi,你可以借我123块吗?我123天后还你123.4元

%s: % 数据类型的格式,这里默认使用第一个参数值$str;s就是字符串的意思

%2\$d: %-参数位置(2)-标记占位符(\$)-数据类型(d).首先2意思是使用第二个参数$intnum,”\$”这个标记符表示有多个值准备格式化,其实也可以说”2\$”表示取第二个参数;”d”就是数据类型表示带符号的十进制数

%3\$.1f: %-参数位置(3)-标记占位符(\$)-保留小数位(.1)-数据类型(f).首先3代表取第三参数,”.1″代表保留1位小数,”f”代表浮点数

 

左右对齐:

这个应该也可称作补位的一种吧 😉

//左对齐
$str = “小区”;
echo sprintf(“[%’ 8s]”,$str); //[小区  ]
//右对齐
echo sprintf(“[%-8s]”,$str); //[  小区]

%-8s: %-左调整符(-)-返回长度(8)-s(字符串类型)

“[]”是为了看得更清除空格,此处不要混肴 💡

 

最后来看一下这个:

$str = 1234;
echo sprintf(“[%4.2s]”,$str);

4代表长度是4位,.2代表只取两位”12″,为什么?因为我要将他格式化为s字符串;只取前两位的情况下又要长度是4,所以默认从左边补空,最后结果是”[  12]”


以下格式化字符串函数的用法都和sprintf大同小异:

vsprintf和sprintf一样,只不过接收参数是数组;

printf():参数顺序和sprintf一样,直接输出格式化字符串

vprintf():参数顺序和vsprintf一样,直接输出格式化字符串

 

3.ucwords(string $str,单词分割字符=\t\r\n\f\v)

作用:将单词首字母大写

单词分隔符默认:空格符、制表符、换行符、回车符、水平线以及竖线

 

4.ucfirst(string $str)

作用:将字符串首字符大写

 

5.substr_replace($string,$replacestr,$star,$length)

作用:将string字符串从指定位置开始的一段length长度替换为replacestr

start是负数从string倒数;如果length为0将会是将replacestr插入到start位置


暂无评论

发表回复

您的电子邮箱地址不会被公开。

CAPTCHAis initialing...