php strstr、stristr、strpos函数比较

在字符查找时在php中为我们提供了三个函数 strstr、stristr、strpos,它们三个的用法有点区别下面我们来一下介绍相关函数.

语法:

string strstr ( string haystack, string needle)

返回haystack中从needle开始到结束的字符串.

如果没有返回值,即没有发现needle,则返回FALSE

注: 这个函数是大小写敏感的.

实例代码如下:

  1. $city_str=fopen(cgi_path."/data/weather/city.dat","r"); 
  2. $city_ch=fread($city_str,filesize(cgi_path."/data/weather/city.dat")); 
  3. $city_ch_arr=explode("|",$city_ch); 
  4. //如果能匹配到所在市 
  5. if(strstr($area_ga,"市")){ 
  6. foreach($city_ch_arr as $city_ch_arr_item){ 
  7.   if(@strstr($area_ga,$city_ch_arr_item)){ 
  8.    echo $area_ga.'<br>'
  9.    echo $city_ch_arr_item
  10.    $s_city=$city_ch_arr_item
  11.   } 
  12. }//如果找不到市 那么看看是不是能找到省 有时会有这样的情况:广东省长城宽带 这样的一律归属到该省省府 
  13. elseif(strstr($area_ga,"河北")!==false){ 
  14. $s_city="石家庄"

city.dat中是一些城市 格式是这样的

广州|深圳|汕头|惠州

更多详细内容请查看:http://www.phpfensi.com

stristr() 函数查找字符串在另一个字符串中第一次出现的位置.

如果成功,则返回字符串的其余部分(从匹配点).如果没有找到该字符串,则返回 false.

实例代码如下:

  1. <?php  
  2.  echo stristr("Hello world!","WORLD"); 
  3. ?> 

输出:

world!

strpos介绍

相对于前两者查找成功后返回的是字符,strpos查找成功后则是返回的是位置.因为位置有可能是0,所以判断查找失败使用===false更合适.

strpos的性能比较好,如果只是判断needle是否在字符串haystack中,则使用strpos较好,它将占用更少的内存和获得更快的执行速度.但是strpos对特殊字符支持不好,比如对中文就不能很好支持

实例代码如下:

  1. <?php 
  2. echo strpos("Hello world!","wo"); 
  3. ?> 

输出:

6

注释:该函数对大小写敏感.如需进行对大小写不敏感的搜索,请使用 stripos() 函数.

结合上面实例我们得出结论

strstr 区别大小写,从字符开始找如果有返回true否则就返回false 

stristr 字符不区别大小写,从字符开始找如果有返回true否则就返回false

strpos 区别大小写strpos查找成功后则是返回的是位置.因为位置有可能是0,所以判断查找失败使用===false更合适.

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » php strstr、stristr、strpos函数比较

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡