首页 > Web > php判断浏览器以及strpos函数
2013
03-16

php判断浏览器以及strpos函数

需要用到php判断浏览器,于是google了,下出来的都是相同的于是就copy了下来就开始用,结果在判断Opera的时候卡壳了整死都出不来,于是搜索了下strpos函数,解释是“返回字符串在另一个字符串中第一次出现的位置”再看了下官方的解释,顿时觉悟,被坑惨了。。。

strpos函数

strpos函数

官方用大字告诉我们“此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值,例如 0 或 “”(空串)。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符 来测试此函数的返回值。”原来是因为返回的值为零,就相当于if(0),当然不能正确返回了。

稍加改进代码如下:

function browser(){
$str=$_SERVER["HTTP_USER_AGENT"];
if(false !== strpos($str,"MSIE 10"))
return "IE 10";
if(false !== strpos($str,"MSIE 9.0"))
return "IE 9.0";
if(false !== strpos($str,"MSIE 8.0"))
return "IE 8.0";
else if(false !== strpos($str,"MSIE 7.0"))
return "IE 7.0";
else if(false !== strpos($str,"MSIE 6.0"))
return "IE 6.0";
else if(false !== strpos($str,"Firefox"))
return "Firefox";
else if(false !== strpos($str,"Chrome"))
return "Chrome";
else if(false !== strpos($str,"Safari"))
return "Safari";
else if(false !== strpos($str,"Opera"))
return "Opera";
else if(false !== strpos($str,"360"))
return "360";
else return "unknown browser";
}

希望同学们别再重蹈我的覆辙。。。

最后编辑:
作者:7iang
做自己