<? php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
echo '正在使用 Internet Explorer。<br />';
}
?>
对 strpos() 函数的调用。strpos() 是 PHP 的一个内置函数,其功能是在一个字符串中搜索另外一个字符串。例如我们现在需要在 $_SERVER['HTTP_USER_AGENT'](即所谓的 haystack)变量中寻找 'MSIE'。如果在这个 haystack 中该字符串(即所谓的 needle)被找到,则函数返回 needle 在 haystack 中相对开头的位置;如果没有,则返回 FALSE。如果该函数没有返回 FALSE,则 if 会将条件判断为 TRUE 并运行其花括号 {} 内的代码;否则,则不运行这些代码。我刚学PHP 这里的 haystack,msie,needle 指的是什么?我认为是不是在 $_SERVER['HTTP_USER_AGENT'] 输出的字符串里找 MSIE ? 就返回 mise 在那字符串的开头位置
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
echo '正在使用 Internet Explorer。<br />';
}
?>
对 strpos() 函数的调用。strpos() 是 PHP 的一个内置函数,其功能是在一个字符串中搜索另外一个字符串。例如我们现在需要在 $_SERVER['HTTP_USER_AGENT'](即所谓的 haystack)变量中寻找 'MSIE'。如果在这个 haystack 中该字符串(即所谓的 needle)被找到,则函数返回 needle 在 haystack 中相对开头的位置;如果没有,则返回 FALSE。如果该函数没有返回 FALSE,则 if 会将条件判断为 TRUE 并运行其花括号 {} 内的代码;否则,则不运行这些代码。我刚学PHP 这里的 haystack,msie,needle 指的是什么?我认为是不是在 $_SERVER['HTTP_USER_AGENT'] 输出的字符串里找 MSIE ? 就返回 mise 在那字符串的开头位置
建议这样写if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')) {
echo '正在使用 Internet Explorer。 <br />';
}
1、strpos 手册在这里 http://cn.php.net/manual/en/function.strpos.php
int strpos ( string $haystack , mixed $needle [, int $offset= 0 ] )
这里的参数命名确实很不通用 起码对英文不好的人来说
在词霸里找到一个句子 “a needle in a haystack”落进草垛里的一根针(比喻很难找的东西)
2、$_SERVER 手册在这 http://cn.php.net/manual/en/reserved.variables.server.php
Server and execution environment information
服务器或运行时相关的一些环境信息
3、'MSIE'
这个不需要解释了 '被引号框起来的只是一个字符串而已'
至于MSIE 这个要理解了 UserAgent 才可以,建议你去搜下
所以,多看多试多搜 其次才是提问然后茫然的等待...
php.net 下面网友回复很有价值 建议看看
@zhoupuyue strpos(..)!== FALSE
如果被查找的字符出现在开始的位置 strpos 的返回值为 0 ,而不代表没有找到