<?php
/**
*
运算符的短路
&& 逻辑与 || 逻辑或 存在短路
& 按位与 | 按位或 不存在短路
*/
// || 逻辑或 存在短路
$a=1; //返回一个TRUE 1;
$a==1 || $b=100; //是一个赋值表达式,生成变量$b;
echo $b;
结果:为空
//【逻辑或:前面表达式为真,后面不执行】
$a=1; //返回一个TRUE 1;
$a==2 || $b=100; //是一个赋值表达式,生成变量$b;
echo $b;
结果:100;
//echo '$b等于:'.$b;
//结果:$b等于:100;
//【逻辑或:前面表达式为假,后面才执行】
// && 逻辑与 存在短路
$a=1; //返回一个TRUE 1;
$a==2 && $b=100; //是一个赋值表达式,生成变量$b;
echo $b;
结果:为空;
//echo '$b等于:'.$b;
//结果:$b等于:;
//【逻辑与:前面表达式为假,后面不执行】
$a=1; //返回一个TRUE 1;
$a==2 && $b=200; //是一个赋值表达式,生成变量$b;
echo $b;
结果:为空;
//echo '$b等于:'.$b;
//结果:$b等于:200;
//【逻辑与:前面表达式为真,后面才执行】
// & 按位与 不存在短路
/**
*
运算符的短路
&& 逻辑与 || 逻辑或 存在短路
& 按位与 | 按位或 不存在短路
*/
// || 逻辑或 存在短路
$a=1; //返回一个TRUE 1;
$a==1 || $b=100; //是一个赋值表达式,生成变量$b;
echo $b;
结果:为空
//【逻辑或:前面表达式为真,后面不执行】
$a=1; //返回一个TRUE 1;
$a==2 || $b=100; //是一个赋值表达式,生成变量$b;
echo $b;
结果:100;
//echo '$b等于:'.$b;
//结果:$b等于:100;
//【逻辑或:前面表达式为假,后面才执行】
// && 逻辑与 存在短路
$a=1; //返回一个TRUE 1;
$a==2 && $b=100; //是一个赋值表达式,生成变量$b;
echo $b;
结果:为空;
//echo '$b等于:'.$b;
//结果:$b等于:;
//【逻辑与:前面表达式为假,后面不执行】
$a=1; //返回一个TRUE 1;
$a==2 && $b=200; //是一个赋值表达式,生成变量$b;
echo $b;
结果:为空;
//echo '$b等于:'.$b;
//结果:$b等于:200;
//【逻辑与:前面表达式为真,后面才执行】
// & 按位与 不存在短路
$a=2;
$a==3 & $c=500;//【参加运算的两边同位数都为1的时候才为1,所以两边都需要进行计算】
echo $c;
结果:500;
// | 按位或 不存在短路
$a=2;
$a==2 | $c=500;//【参加运算的两边同位数都为0的时候才为0,所以两边都需要进行计算】
echo $c;
结果:500;
//运算符的短路特性
$file=@fopen('test.txt','r') or die("文件不存在!test必须存在!");//【根目录新建一个tester.txt文档,内容随意】
$file=fopen('tester.txt','r') or die("文件不存在!test必须存在!");
//前面为真,后面不执行;前面为假,后面才执行;
?>
$a=2;
$a==2 | $c=500;//【参加运算的两边同位数都为0的时候才为0,所以两边都需要进行计算】
echo $c;
结果:500;
//运算符的短路特性
$file=@fopen('test.txt','r') or die("文件不存在!test必须存在!");//【根目录新建一个tester.txt文档,内容随意】
$file=fopen('tester.txt','r') or die("文件不存在!test必须存在!");
//前面为真,后面不执行;前面为假,后面才执行;
?>