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
)
&& 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"页面。 

 

posted @ 2016-01-19 15:53  千年海岩  阅读(309)  评论(0编辑  收藏  举报