服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > php教程 >

php strstr、stristr、strpos函数比较

时间:2016-03-30 09:31来源: 作者: 点击:
在字符查找时在php中为我们提供了三个函数 strstr、stristr、strpos,它们三个的用法有点区别下面我们来一下介绍相关函数. 语法: string strstr ( string haystack, string needle) 返回haystack中从needle开
在字符查找时在php中为我们提供了三个函数 strstr、stristr、strpos,它们三个的用法有点区别下面我们来一下介绍相关函数.
 
语法:
 
string strstr ( string haystack, string needle)
 
返回haystack中从needle开始到结束的字符串.
 
如果没有返回值,即没有发现needle,则返回FALSE
 
注: 这个函数是大小写敏感的.
 
实例代码如下:
 
$city_str=fopen(cgi_path."/data/weather/city.dat","r"); 
$city_ch=fread($city_str,filesize(cgi_path."/data/weather/city.dat")); 
$city_ch_arr=explode("|",$city_ch); 
//如果能匹配到所在市 
if(strstr($area_ga,"市")){ 
foreach($city_ch_arr as $city_ch_arr_item){ 
  if(@strstr($area_ga,$city_ch_arr_item)){ 
   echo $area_ga.'<br>'; 
   echo $city_ch_arr_item; 
   $s_city=$city_ch_arr_item; 
  } 
}//如果找不到市 那么看看是不是能找到省 有时会有这样的情况:广东省长城宽带 这样的一律归属到该省省府 
elseif(strstr($area_ga,"河北")!==false){ 
$s_city="石家庄"; 
city.dat中是一些城市 格式是这样的
 
 
stristr() 函数查找字符串在另一个字符串中第一次出现的位置.
 
如果成功,则返回字符串的其余部分(从匹配点).如果没有找到该字符串,则返回 false.
 
实例代码如下:
 
<?php  
 echo stristr("Hello world!","WORLD"); 
?> 
输出:
 
world!
 
strpos介绍
 
相对于前两者查找成功后返回的是字符,strpos查找成功后则是返回的是位置.因为位置有可能是0,所以判断查找失败使用===false更合适.
 
strpos的性能比较好,如果只是判断needle是否在字符串haystack中,则使用strpos较好,它将占用更少的内存和获得更快的执行速度.但是strpos对特殊字符支持不好,比如对中文就不能很好支持
 
实例代码如下:
 
<?php 
echo strpos("Hello world!","wo"); 
?> 
输出:
 
6
 
注释:该函数对大小写敏感.如需进行对大小写不敏感的搜索,请使用 stripos() 函数.
 
结合上面实例我们得出结论
 
strstr 区别大小写,从字符开始找如果有返回true否则就返回false 
 
stristr 字符不区别大小写,从字符开始找如果有返回true否则就返回false
 
strpos 区别大小写strpos查找成功后则是返回的是位置.因为位置有可能是0,所以判断查找失败使用===false更合适.
(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容