strstr stristr strpos这三个函数的区别

strstr -- 返回字符串中从某指定字符开始到结束处的字符串。
语法:
string strstr ( string haystack, string needle)
返回haystack中从needle开始到结束的字符串.
如果没有返回值,即没有发现needle,则返回FALSE
 
注: 这个函数是大小写敏感的。
stristr与strstr 的区别就是stristr不分区大小写。
 
相对于前两者查找成功后返回的是字符,strpos查找成功后则是返回的是位置。因为位置有可能是0,所以判断查找失败使用===false更合适。
 
strpos的性能比较好,如果只是判断needle是否在字符串haystack中,则使用strpos较好,它将占用更少的内存和获得更快的执行速度。但是strpos对特殊字符支持不好,比如对中文就不能很好支持。
 
结合上面实例我们得出结论
strstr 区别大小写,从字符开始找如果有返回true否则就返回false 
stristr 字符不区别大小写,从字符开始找如果有返回true否则就返回false
strpos 区别大小写strpos查找成功后则是返回的是位置。因为位置有可能是0,所以判断查找失败使用===false更合适。
if(strstr($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Mozilla/5.0"))   //支持特殊字符"/"和中文字符
if(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Mozilla/5.0"))  //对"/"和中文字符不支持

 

posted @ 2018-04-10 10:42  #i小龙#  阅读(1443)  评论(0编辑  收藏  举报