《PHP字符串简明教程.doc》由会员分享,可在线阅读,更多相关《PHP字符串简明教程.doc(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、PHP字符串操作学习教程正像人说话一样,一般有形体图形界面,有语言print 字符串?,显然字符串能解释更多的东西。PHP提供了大量的字符串操作函数,功能强大,使用也比拟简单以下将简单的讲述它的功能与特性。 弱类型PHP是弱类型语言,所以其它类型的数据一般可以直接应用于字符串操作函数里,而自动转换成字符串类型,进展处理,如:echo substr(1234567, 1, 3); 与echo substr(123456,1, 3); 是一样的定义一般用双引号或单引号标识一个字符串。比方$str = i love u; $str = i love u; 它者两者是有一些区别的。后者将一切单引号的内
2、容都会当作字符处理;前者那么不然。比方$test = iwind; $str = i love $test; $str1 = i love $test; echo $str; /将得到 i love iwind echo $str1; /将得到 i love $test 同样的以下两个例子的行为也不一样的:echo i love test; / 将得到 i love est,已经将t视为转义 echo i love test; / 将得到 i love test 从而可以简单认为双引号里的内容是经过“解释过的,单引号的是“所见即所得的(特殊地,会被认作一个)。显而易见,双引号形式的更为灵活一些
3、,当然单引号会适用于一些特殊的场合,这里就不作阐述了。输出PHP里的输出最常用的是echo,print.两者都不是真正的函数,而是语言构造,所以调用时不必用双括号比方echo(test);print(test).在输出的时候两者都可以实现赋值:echo $str=test; /一方面输出test,一方面把test赋给字符串变量 $str print $str=test; 两者除了名字不一样外,还是有其它区别的。print具有返回值,一直返回1,而echo没有,所以echo比print要快一些:$return = print test; echo $return; / 输出1 也正因为这个原因,
4、print能应用于复合语句中,而echo不能:isset($str) or print str 变量未定义; / 将输出str 变量未定义 isset($str) or echo str 变量未定义;/ 将提示分析错误 echo一次可输出多个字符串,而print那么不可以:echo i ,love ,iwind; / 将输出 i love iwind print i ,love ,iwind; / 将提示错误echo,print还可以输出被称作“文档句法的字符串,句法如:echo 标签名称 . 字符串内容 . 标签名称; 比方 echo 0), 比拟的是 b与Bstrcasecmp用于不区分大
5、小写的字符串比拟:echo strcasecmp(abcdd, aBcde); / 返回 -1 (0), 比拟了 abc 与 aBc strncasecmp用于不区分大小写的比拟字符串的一局部,从字符串的开头开场比拟,第三个参数,为要比拟的长度:echo strncasecmp(abcdd, aBcde, 3); / 返回 0, 比拟了 abc 与 aBc, 由于不区分大小写,所以两者是一样的。 还有一种情况是单单比拟字符串大小,达不到我们预定的要求,比方照常理 10.gif 会比 5.gif 大,但如果应用上面几个函数,就会返回 -1,即表示 10.gif比5.gif,针对这种情况,PHP提
6、供了两个自然比照的函数strnatcmp,strnatcasecmp:echo strnatcmp(10.gif, 5.gif); / 返回 1 (0) echo strnatcasecmp(10.GIF, 5.gif); / 返回 1 (0) 替换替换的意义在于将一个字符串的一局部进展改变,使之成为别外一个新的字符串,以满足新的要求。PHP里通常用str_replace(要替换的内容, 要取代原内容的字符串, 原字符串)进展替换。echo str_replace(iwind, kiki, i love iwind, iwind said); / 将输出 i love kiki, kiki s
7、aid 即将 原字符串中的所有iwind都替换成了kiki.str_replace是大小写敏感的,所以对你不能设想用 str_replace(IWIND, kiki,.)替换原字符串中的iwind.str_replace还可以实现多对一,多对多的替换,但无法实现一对多的替换:echo str_replace(array(iwind, kiki), people, i love kiki, iwind said); 将会输出i love people, people said第一个参数中的array(iwind, kiki)都被替换成了peopleecho str_replace(array(i
8、wind, kiki), array(gentle man, ladies), i love kiki, iwind said); 输出 i love ladies, gentle man said 。也就是说第一个数组中的元素被第二个数组中的相对应的元素替换掉了,如果有一个数组比另一个数组元素数要少,那么缺乏的都会当作空来处理。与此有些类似的是strtr,此外,PHP还提供了substr_replace,实现替换一局部的字符串。语法如下:substr_replace (原字符串, 要替代的字符串, 开场替换的位置 , 替换的长度)其中,开场替换的位置从0开场计算,应该小于原字符串的长度。要替
9、换的长度是可选的。echo substr_replace(abcdefgh, DEF, 3); / 将输出 abcDEF echo substr_replace(abcdefgh, DEF, 3, 2); / 将输出 abcDEFfgh 第一个例子中,从第三个位置即d)开场替换,从而把 defgh都替换成了“DEF第二个例子中,也是从第三个位置即d)开场替换,但只能替换2个长度,即到e,所以就把de替换成了DEF.PHP还提供了preg_replace,preg_replace_callback,ereg_replace,eregi_replace等函数应用正那么表达式来完成字符串替换,用法请
10、参考手册。查找与匹配PHP里用于查找或者匹配或者定位的函数非常多,它们都有不同的意义。这里只讲述用得比拟多的strstr,stristr.后者与前者的功能,返回值都一样,只是不区分大小写。strstr(母字符串, 子字符串)用来查找子字符串在母字符串中第一次出现的位置,并返回母字符串中从子字符串开场到母字符串完毕的局部。比方echo strstr(abcdefg, e); /将输出 efg 如果找不到子字符串,那么返回空。因为可以用来判断一个字符串中是否含有另外一个字符串:$needle = iwind; $str = i love iwind; if (strstr($str, $needl
11、e) echo 里面有 iwind; else echo 里面没有 iwind; 将会输出里面有 iwindHTML相关1,htmlspecialchars($string)这是它的最简单用法,将字符串中的一些特殊字符顾名思义&,转换成它们对应的HTML实体形式:$str = i love kiki, iwind said.; echo htmlspecialchars($str); 将会输出i love kiki, iwind said.2,htmlentities($string)将所有能转换成实体形式的字符都转换成实体形式。3,html_entity_decode($string);PHP4.3.0以后参加的具有与htmlentities($string)相反的功能。4,nl2br($string)将字符串中所有换行符转变成 + 换行符。如:$str = i love kiki,n iwind said.; echo nl2br($str); 将会输出i love kiki,iwind said.第 14 页
限制150内