PHP编程中字符串处理的5个技巧小结
PHP编程中字符串处理的5个技巧小结
发布时间:2016-12-29 来源:查字典编辑
摘要:字符串注意单引号和双引号的区别注意转义字符的使用,",$注意使用8进制或16进制字符表示xf6echo"Hxf6me";//需要察看是否支持...

字符串

注意单引号和双引号的区别

注意转义字符的使用,",$

注意使用8进制或16进制字符表示xf6

echo"Hxf6me";//需要察看是否支持此类文字编码

---------------------输出结果----------------------------------------

H鰉e

---------------------------------------------------------------------

1.使用printf()和sprintf()创建格式化的输出

printf()直接输出到输出缓冲区

sprintf()的输出作为字符串返回

如printf("输出内容%.2fn",$PI());

所有的转换规范都以%开头

数据类型有d-整数,s-字符串,f-浮点数,b-二进制

.2是一个可选的宽度指标,小数点右边输出使用0填充

printf("%.2f",3.14159);

printf("%10.2f",3.14159);

printf("%.10f",3.14159);

printf("%.9s",abcdefghijklmn);

printf("%5.2f,%f,%7.3fm",3.14159,3.14159,3.14159);

printf("%b%d%f%sn",123,123,123,"test");

---------------------输出结果----------------------------------------

3.143.143.1415900000abcdefghi3.14,3.141590,3.142m1111011123123.000000test

---------------------------------------------------------------------

2.字符串填充

stringstr_pad(stringinput原始字串,intlength添加后的总长度[,stringpadding要填充的字符[,intpad_type]填充类型])

填充类型有添加在左边STR_PAD_LEFT,默认添在右边,填充在两端STR_PAD_BOTH

$index=array("one"=>1,"two"=>155,"three"=>1679);

echo"

";

echostr_pad("这是标题",50,"",STR_PAD_BOTH)."n";

foreach($indexas$inkey=>$inval)

echostr_pad($inkey,30,".").str_pad($inval,20,".",STR_PAD_LEFT)."n";

echo"

";

---------------------输出结果----------------------------------------

这是标题

one..............................................1

two............................................155

three.........................................1679

---------------------------------------------------------------------

stringstrtolower(stringsubject)//转换为小写

stringstrtoupper(stringsubject)//转换为大写

stringucfirst(stringsubject)//首字母大写

stringucwords(stringsubject)//每个单词首字母大写

stringltrim(stringsubject)//去左空白

stringrtrim(stringsubject)//去右空白

stringtrim(stringsubject)去左右空白,空白包括null,制表符,换行符,回车符和空格

stringn12br(stringsource)//将n表示的换行符转换为<BR/>标记

3.字符串比较

integerstrcmp(stingstr1,stringstr2)//str1大于str2返回-1str1小于str2返回1str1和str2相等返回0

integerstrmcmp(stingstr1,stringstr2,integerlength)//第三个参数限制length个字符的比较

printstrcmp("aardvark","aardwolf");

printstrncmp("aardvark","aardwolf",4);

---------------------输出结果----------------------------------------

-10

---------------------------------------------------------------------

strcasecmp()和strncasecmp()是不区分大小写的比较函数

4.查找和抽取子字符串

stringsubstr(stingsource,integerstart[,integerlength])//从start开始取length个字符

start和length可以使用负值

$var="abcdefgh";

printsubstr($var,2);//从0开始计数

printsubstr($var,2,3);

printsubstr($var,-1);//从字符串的末尾开始

printsubstr($var,-5,2);

printsubstr($var,-5,-2);

---------------------输出结果----------------------------------------

cdefgh

cde

h

de

def

---------------------------------------------------------------------

integerstrpos(stringhaystack,stringneedle[,integeroffset])//查找子字符串的位置,返回第一次出现.

integerstrrpos(stringhaystack,stringneedle)//只搜索单个字符(多个字符只取第一个),返回最后一次出现的索引.

还有常见的从字符串中抽取找到的部分的函数

stringstrstr(stringhaystack,stringneedle)//不区分大小写

stringstristr(stringhaystack,stringneedle)//区分大小写

stringstrrchr(stringhaystack,stingneedle)

***********arrayexplode(stringseparator,stringsubject[,integerlimit])//返回一个字符串数组

arrayimplode(stringglue,arraypieces)//返回一个字符串

///////////////////////////代码段////////////////////////////////////////

$guest="thisisastring";

$guestArray=explode("",$guest);

var_dump($guestArray);

sort($guestArray);

echoimplode(",",$guestArray);

////////////////////////////////////////////////////////////////////////

---------------------输出结果----------------------------------------

array(4){[0]=>string(4)"this"[1]=>string(2)"is"[2]=>string(1)"a"[3]=>string(6)"string"}a,is,string,this

---------------------------------------------------------------------

5.替换字符和子字符串

stringsubstr_replace(stringsource,stringreplace,intstart[,intlength])

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类