第一次看到以下语句的写法大惑不解

($mCfg['LockChinaIp']==1
&& (int)$_SESSION['AdminUserId']==0
&& substr_count($_SERVER['PHP_SELF'], '/manage/')==0
&& (preg_match('/zh-c/i', substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4)) || preg_match('/zh/i', substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4)))0
)
&& js_location('/unavailable.php', '', '.top');

上述语句没有IF 关键字,PHP的处理机制是:前一个判断为真时,就执行后一个语句。

即:($mCfg['LockChinaIp']==1 
&& (int)$_SESSION['AdminUserId']==0 
&& substr_count($_SERVER['PHP_SELF'], '/manage/')==0 
&& (preg_match('/zh-c/i', substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4)) || preg_match('/zh/i', substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4)))0
) 为真,就转到 "/unavailable.php"页面。

05-11 11:27