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

时间: 2024-10-03 22:06:11

PHP:( && )逻辑与运算符使用说明的相关文章

php && 逻辑与运算符使用说明

<?php // 下面的 foo() 不会被调用,因为它们被运算符"短路"了. $a = (false && foo()); $b = (true || foo()); $c = (false and foo()); $d = (true or foo()); // "||" 的优先级比 "or" 高 $e = false || true; // $e 被赋值为 (false || true),结果为 true $f = f

JavaScript逻辑and运算符详解

一.AND详解: 在JavaScript中,逻辑 AND 运算符用双和号(&&)表示. 需要说明的是:逻辑AND运算的运算数可以是任何类型的,不止是Boolean值,如果某个运算数不是原始的Boolean型值,逻辑AND运算并不一定返回Boolean值. 逻辑AND运算符的运算行为如下: 如果一个运算数是对象,另一个是 Boolean 值,返回该对象. 如果两个运算数都是对象,返回第二个对象. 如果某个运算数是 null,返回 null. 如果某个运算数是 NaN,返回 NaN. 如果某个

JavaScript逻辑not运算符详解

在JavaScript 中,逻辑NOT运算符与C和Java中的逻辑 NOT 运算符相同,都由感叹号(!)表示.与逻辑 OR 和逻辑 AND 运算符不同的是,逻辑 NOT 运算符返回的一定是 Boolean 值. 逻辑 NOT 运算符的行为如下: 如果运算数是对象,返回 false 如果运算数是数字 0,返回 true 如果运算数是 0 以外的任何数字,返回 false 如果运算数是 null,返回 true 如果运算数是 NaN,返回 true 如果运算数是 undefined,发生错误 <sc

逻辑与和逻辑或运算符原理

1.逻辑或运算符|| 从左向右运算,如果当前操作数为真,则返回该操作数,否则一直向右运算,直到遇到为真的操作数,或者直到最后.当运算到最后一个操作数时,返回最后一个操作数,不必关心最后一个操作数的真假状态 <script> console.log(0||0||undefined||null); </script> 打印出: null 2.逻辑与运算符&& 从左向右运算,如果当前操作数为假,则返回该操作数,否则一直向右运算,直到遇到为假的操作数,或者直到最后.当运算到

javascript使用两个逻辑非运算符(!!)的原因

javascript使用两个逻辑非运算符(!!)的原因:关于逻辑非运算符的使用这里就不用说了,比较简单,如果不了解可以参阅javascript的逻辑运算符一章节.在有些代码中可能大家可能会注意到有些地方使用了两个逻辑非运算符,第一感觉就是没有必要,比如操作数是true的话,使用两个逻辑非的返回值还是true,好像多此一举的行为,其实如果深究起来并非如此.先看一段代码实例: grep:function(elems,callback,inv ) { var ret=[],retVal; inv=!!

JavaScript学习总结(四)——逻辑OR运算符详解

在JavaScript中,逻辑OR运算符用||表示 1 var bTrue = true; 2 var bFalse = false; 3 var bResult = bTrue || bFalse; 下面的真值表描述了逻辑AND运算符的行为: 运算数 1 运算数 2 结果 true true true true false true false true true false false false 在JavaScript中,0,"",false,null,undefined,NaN

逻辑与运算符

public class jh_02_逻辑与运算符 { /* * 总成绩大于等于230, * 并且英语成绩大于等于60, * 才能升学. */ public static void main(String[] args) { int sum = 160; int en = 65; // 总成绩大于等于230 sum >= 230 // 英语成绩大于等于60 en >= 60 // 逻辑 System.out.println(sum >= 230 && en >= 6

php 三元运算符使用说明和写法

PHP三元运算的2种写法代码实例 首先,我们现在看一个简单的例子: 代码如下: <?php //写法一: $a = 2; ($a == 1) ? $test = "我们" : $test = "你们"; echo $test; ?> 上述例子呢,先判断$a是否为1 如果是 将“我们”这个字符串存入$test变量里然后输出,如果不是 将“你们”这个字符串存入$test变量里然后输出: 上诉例子代码等价于: 代码如下: <?php //写法二: $a

算术运算符和运算命令

1.算术运算符 算术运算符 使用说明 +.- 加法(或正号).减法(或负号). *./.% 乘法.除法.取余. ** 幂运算. !.&&.|| 逻辑非(取反).逻辑与(and).逻辑或(or) ==.!=.= 比较符号(相等.不相等.相当于). =.+=.-=.*=./=.%= 赋值运算符.例如a+=1等于a=a+1. ++.-- 增加和减少1. 2.算术运算命令 算术运算命令 使用说明 (()) 用于整数运算的常用运算符,效率较高. let 用于整数运算,类似于"(())&qu