Mul*_*gno 0 php syntax operators
我正在尝试||运营商.以下代码的语法有什么问题?
<?php
if(strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE 6')) || if(strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE 7')) || if(strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE 8'))
{
echo 'something';
}
?>
Run Code Online (Sandbox Code Playgroud)
但是,以下代码工作正常:
<?php
if(strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE 6')) {
echo 'something';
}
?>
Run Code Online (Sandbox Code Playgroud)
显然这||部分有问题.
Thi*_*ter 12
不要重复if.
像这样使用它:
if(foo || bar || ...)
Run Code Online (Sandbox Code Playgroud)
即
if(strstr($_SERVER['HTTP_USER_AGENT'],'MSIE 6') ||
strstr($_SERVER['HTTP_USER_AGENT'],'MSIE 7') ||
strstr($_SERVER['HTTP_USER_AGENT'],'MSIE 8')) {
}
Run Code Online (Sandbox Code Playgroud)
一个更好的版本是这样的:
if(preg_match('/MSIE [6-8]/', $_SERVER['HTTP_USER_AGENT'])) {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)