&&是逻辑与运算符,||是逻辑或运算符,而且两个都是短路的,即&&和&,||和|还是不一样的,&&和||是短路逻辑与和逻辑或。
- &&等于and两边语句同时为true时,值为true,否则为false;
- ||等于or两边语句其中一边为true时,值为true,两边为false时,整体为false;
当计算机执行代码时,当&&第一条件为false时,就不再判断我第二条件;当||第一条件为true时,就不再判断第二条件;
所以除了做逻辑判断的作用外,还可以作条件判断加赋值,充当某种情况的ifelse使用;
- ||例子
is_file($config_file)||$config_file=CONF_PATH.'websetConfig.php';
这行代码的意图是,当不存在文件config_file时,$config_file赋予默认变量CONF_PATH.’websetConfig.php’;基于以上原理,当$config_file文件存在时,就不执行||右边代码;
等于用ifelse写;
if(!is_file($config_file))
{
$config_file=CONF_PATH.'websetConfig.php';
}
- &&例子
C('VAR_PAGE')&&$this->p=C('VAR_PAGE');//设置分页参数名称
这行代码的意图是,当存在变量VAAR_PAGE;赋值给$this->p;当不存在变量VAR_PAGE,后面不执行;
等于用ifelse写的:
if(C('VAR_PAGE'))
{
$this->p=C('VAR_PAGE');
}