PHP基础之运算符(五)【短路特性】
2017-01-24 14:47
274 查看
<?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=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=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必须存在!");
//前面为真,后面不执行;前面为假,后面才执行;
?>
相关文章推荐
- Lua中关系运算符的使用教程
- Lua学习笔记之运算符和表达式
- C#运算符重载用法实例分析
- sql server 2008中的apply运算符使用方法
- C#中38个常用运算符的优先级的划分和理解
- 讲解C++编程中Address-of运算符&的作用及用法
- 详解C++中的成员访问运算符和指针到成员运算符
- C++中的按位与&、按位与或|、按位异或^运算符详解
- 深入解析C++编程中__alignof 与__uuidof运算符的使用
- 深入解析C++编程中范围解析运算符的作用及使用
- C++中求余运算符(%)示例详解
- C#基础语法:as 运算符使用实例
- 与MSSQL对比学习MYSQL的心得(五)--运算符
- MySQL中的运算符使用实例展示
- 轻松学习C#的运算符
- Ruby的运算符和语句优先级介绍
- C#编程自学之运算符和表达式
- C# 运算符 ?、??、?: 各种问号的用法和说明
- Lua中的运算符简明总结
- 详解js运算符单竖杠“|”与“||”的用法和作用介绍