版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.PHP字符串操作学习教程正像人说话同样,一般有形体(图形界面),有语言(print字符串?),显然字符串能解释更多的东西。PHP提供了大量的字符串操作函数,功能强大,使用也比较简单.以下将简单的叙述它的功能和特性。弱种类PHP是弱种类语言,所以其余种类的数据一般能够直策应用于字符串操作函数里,而自动变换成字符串种类,进行办理,如:echosubstr("1234567",1,3);和echosubstr(123456,1,3);是同样的定义一般用双引号或单引号表记一个字符串。比方$str="iloveu";$str='iloveu';它者两者是有一些区其他。后者将一切单引号的内容都会看作字符办理;前者则不然。比方$test="iwind";$str="ilove$test";$str1='ilove$test';echo$str;//将获得iloveiwindecho$str1;//将获得ilove$test同样的以下两个例子的行为也不同样的:echo"ilovetest";//将获得iloveest,已经将t视为转义echo'ilovetest';//将获得ilovetest进而能够简单认为双引号里的内容是经过“解释”过的,单引号的是“所见即所得”的(特殊地,''会被认作一个'')。显而易见,双引号形式的更加灵活一些,自然单引号会合用于一些特殊的场合,这里就不作阐述了。;..输出PHP里的输出最常用的是echo,print.两者都不是真实的函数,而是语言构造,所以调用时不必用双括号(比方echo("test");print("test")).在输出的时候两者都能够实现赋值:echo$str="test";//一方面输出test,一方面把"test"赋给字符串变量$strprint$str="test";两者除了名字不同样外,仍是有其余区其他。print拥有返回值,一直返回1,而echo没有,所以echo比print要快一些:$return=print"test";echo$return;//输出1也正因为这个原因,print能应用于复合语句中,而echo不能:isset($str)orprint"str变量未定义";//将输出"str变量未定义"isset($str)orecho"str变量未定义";//将提示剖析错误echo一次可输出多个字符串,而print则不能够:echo"i","love","iwind";//将输出"iloveiwind"print"i","love","iwind";//将提示错误echo,print还能够输出被称作“文档句法”的字符串,句法如:echo<<<标签名称...字符串内容...标签名称;比方echo<<<testiloveiwindtest;要注意的是语句开始和结束的两个标签名称是同样的,且后一个标签名称前不能有空白,即要顶格写。文档句法输出的内容辨别变量名称和常用符号,大概形同双引号的作用。输出echo,print外,PHP还提供了一些格式化字符串的函数,比方printf,sprintf,vprintf,vsprintf,在这里不作详解。连结;..两个以上的字符串通接用"."操作符,依字符串的次序形成新的字符串。$str="i"."love"."iwind";这里的$str就是"iloveiwind";字符串。自然,还能够使用.=操作符:$str="";//初始化$str.="iloveiwind";这里用到了初始化,是因为未定义变量在使用时会产生一个notice错误,或许null能够简单地代表空字符串。长度PHP提供strlen函数来计算字符串的长度:$str="test";echostrlen($str);//将输出4有点奇怪的是strlen将中日等汉字以及全角字符都看作两个或四个长度计算。幸亏mbstring或icon两个函数能够帮助解决这个问题,比方:$len=iconv_strlen($str,"GBK");$len=mb_strlen($str,"GBK");注:mbstring模块提供了大量的对含有多字节字符的字符串的办理函数,介绍多加应用,由于这篇文章讲的是字符串入门,所以不打算详尽讲解。分开与连结PHP允许你把一个字符串按照一个分开符进行分开成一个数组,或许将一个数组组合成一个字符串。看下面的例子:$str="iloveiwind";$array=explode("",$str);上面的explode函数,就把$str字符串按空格字符进行分开,结果返回一个数组$array:array("i","love","iwind").与explode函数有近似功能的有:preg_split( ),spliti( ),split( )等函数。与此相反的,implode和join则能把一个数组联合成一个字符串,他们是拥有完全相同功能的函数。$array=array("i","love","iwind");$str=implode("",$array);;..例中的implode函数将数组$array的每个元素用空格字符进行连结,返回一个字符串$str:"iloveiwind".裁剪一个字符串首和尾,可能不是你想要的部分,就能够用trim,rtrim,ltrim等函数,分别去除一个字符串两头空格,一个字符串尾部空格,一个字符串首部空格。echotrim("iloveiwind");//echortrim("iloveiwind");//echoltrim("iloveiwind");//
将获得"iloveiwind"将获得"iloveiwind"将获得"iloveiwind"其实这三个参数不单能够去除字符串首尾的空格,还能够去除它们的第二个参数指定的字符,如:echotrim(",1,2,3,4,",",");//将获得1,2,3,4两头的","号被裁掉了。有时还会看到有人使用chop这个函数,其实它是rtrim的同义函数。大小写关于英文字母来说,能够用strtoupper,strtolower将其转变成大写或小写。echostrtoupper("iloveiwind");//将获得ILOVEIWINDechostrtolower("ILOVEIWIND");//将获得iloveiwind比较一般能够用!=,==比较两个对象是否相等,只所以说是两个对象,是因为它们不一定全部为字符串,也能够为整型等等。比方$a="joe";$b="jerry";if($a!=$b){echo"不相等";}else{echo"相等";}如果用!==,===(能够看到多了一个等号)比较的话,两个对象的种类要严;..格相等才能返回true;否则用==,!=则会将字符串自动变换成相应的种类,以便进行比较.22=="22";//返回true22==="22";//返回false正因为这样,所以我们的程序时常会发生一些想不到的“意外”:0=="我爱你";//返回true1=="1我爱你";//返回truePHP里还有这样一组用于字符串比较的函数:strcmp,strcasecmp,strncasecmp( ),strncmp( ),它们都是如果前者比后者大,则返回大于0的整数;如果前者比后者小,则返回小于0的整数;如果两者相等,则返回0.它们比较的原理与其余语言的规则都是同样的。strcmp是用于划分大小写(即大小写敏感)的字符串比较:echostrcmp("abcdd","aBcde");//返回1(>0),比较的是"b"和"B"strcasecmp用于不划分大小写的字符串比较:echostrcasecmp("abcdd","aBcde");//返回-1(<0),比较的是"d"和"e"strncmp用于比较字符串的一部分,从字符串的开头开始比较,第三个参数,为要比较的长度:echostrncmp("abcdd","aBcde",3);//返回1(>0),比较了abc和aBcstrncasecmp用于不划分大小写的比较字符串的一部分,从字符串的开头开始比较,第三个参数,为要比较的长度:echostrncasecmp("abcdd","aBcde",3);//返回0,比较了abc和aBc,由于不划分大小写,所以两者是相同的。还有一种情况是单单比较字符串大小,达不到我们预定的要求,比方照旧理10.gif会比5.gif大,但如果应用上面几个函数,就会返回-1,即表示10.gif比5.gif,针对这种情况,PHP提供了两个自然对照的函数strnatcmp,strnatcasecmp:echostrnatcmp("10.gif","5.gif");//返回1(>0)echostrnatcasecmp("10.GIF","5.gif");//返回1(>0)替换替换的意义在于将一个字符串的一部分进行改变,使之成为别外一个新的字符串,以知足新的要求。PHP里往常用str_replace("要替换的内容","要取代原内容的字符串","原字符串")进行替换。echostr_replace("iwind","kiki","iloveiwind,iwindsaid");//将输;..出"ilovekiki,kikisaid"即将原字符串中的所有"iwind"都替换成了"kiki".str_replace是大小写敏感的,所以对你不能设想用str_replace("IWIND","kiki",...)替换原字符串中的"iwind".str_replace还能够实现多对一,多对多的替换,但无法实现一对多的替换:echostr_replace(array("iwind","kiki"),"people","ilovekiki,iwindsaid");将会输出ilovepeople,peoplesaid第一个参数中的array("iwind","kiki")都被替换成了"people"echostr_replace(array("iwind","kiki"),array("gentleman","ladies"),"ilovekiki,iwindsaid");输出iloveladies,gentlemansaid。也就是说第一个数组中的元素被第二个数组中的相对应的元素替换掉了,如果有一个数组比另一个数组元素数要少,那么不足的都会看作空来办理。与此有些近似的是strtr,其他,PHP还提供了substr_replace,实现替换一部分的字符串。语法如下:substr_replace(原字符串,要替代的字符串,开始替换的地点[,替换的长度])其中,开始替换的地点从0开始计算,应当小于原字符串的长度。要替换的长度是可选的。echosubstr_replace("abcdefgh","DEF",3);//将输出"abcDEF"echosubstr_replace("abcdefgh","DEF",3,2);//将输出"abcDEFfgh"第一个例子中,从第三个地点(即"d")开始替换,进而把"defgh"都替换成了“DEF”第二个例子中,也是从第三个地点(即"d")开始替换,但只能替换2个长度,即到e,所以就把"de"替换成了"DEF".PHP还提供了preg_replace,preg_replace_callback,ereg_replace,eregi_replace等函数应用正则表达式来达成字符串替换,用法请参照手册。查找与匹配PHP里用于查找或许匹配或许定位的函数特别多,它们都有不同的意义。这;..里只叙述用得比较多的strstr,stristr.后者与前者的功能,返回值都同样,只是不划分大小写。strstr("母字符串","子字符串")用来查找子字符串在母字符串中第一次出现的地点,并返回母字符串中从子字符串开始到母字符串结束的部分。比方echostrstr("abcdefg","e");//将输出"efg"如果找不到子字符串,则返回空。因为能够用来判断一个字符串中是否含有此外一个字符串:$needle="iwind";$str="iloveiwind";if(strstr($str,$needle)){echo"里面有iwind";}else{echo"里面没有iwind";}将会输出"里面有iwind"HTML有关1,htmlspecialchars($string)这是它的最简单用法,将字符串中的一些特殊字符(顾名思义)&,',"<,>变换成它们对应的HTML实体形式:$str="ilovekiki,iwindsaid.";echoht
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度虚拟现实技术研发与应用合同:某科技公司3篇
- 2024年度汽车美容店特许经营权授权合同3篇
- 2024年度饭店装修工程招租合同
- 二零二四年市场营销策划合同
- 2024年度农业机械的购买使用合同
- 2024年度企业销售代理合同
- 餐厅整修合同范本
- 2024年度电气设备安装工程环保合同3篇
- 2024年度融资合同标的为新能源项目
- 二零二四年度环保设备采购合同(含安装与调试)
- 《国际商务谈判》课程教学大纲
- 2023骨髓腔输液技术要求
- 四渡赤水战役PPT课件模板
- 建设用地报批服务投标方案(技术方案)
- 钢琴专业的职业生涯规划书
- 湘科版四年级上册科学知识点总结
- 发展汉语初级读写第一课知识介绍
- 奋战两百天超越无极限高考倒计时主题班会-高中主题班会优质课件
- 运输车辆安全技术操作规程
- GJB438C模板-软件开发计划(已按标准公文格式校准)
- 世界遗产公约和世界遗产课件
评论
0/150
提交评论