0

||オペレーターを試しています。次のコードの構文の何が問題になっていますか?

<?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';
}
?>

ただし、次のコードは正常に機能します。

<?php
if(strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE 6')) {
    echo 'something';
}
?>

そのため、どうやら||部品に問題があるようです。

4

1 に答える 1

12

を繰り返さないでくださいif

次のように使用します。

if(foo || bar || ...)

すなわち

if(strstr($_SERVER['HTTP_USER_AGENT'],'MSIE 6') ||
   strstr($_SERVER['HTTP_USER_AGENT'],'MSIE 7') ||
   strstr($_SERVER['HTTP_USER_AGENT'],'MSIE 8')) {

}

さらに良いバージョンは次のとおりです。

if(preg_match('/MSIE [6-8]/', $_SERVER['HTTP_USER_AGENT'])) {
    // do stuff
}
于 2012-12-24T00:58:46.130 に答える