PHP &&和and,||和or
来源:互联网 发布:windows 1709 编辑:程序博客网 时间:2024/04/27 14:31
一、&&、and、||、or作为单独的表达式
1、&&、and示例
<?php
!isset($var1) && $var1 = 2;
echo $var1;
!isset($var1) && $var1 = 2;
echo $var1;
isset($var1) && $var1 = 3;
echo $var1;
!isset($var2) and $var2 = 2;
echo $var2;
!isset($var2) and $var2 = 2;
echo $var2;
isset($var2) and $var2 = 3;
echo $var2;
?>
输出结果:224224
结论:如果&&/and左边表达式为真,右面表达式方可执行。
2、||、or示例
<?php
!isset($var1) || $var1 = 2;
echo $var1;
!isset($var1) || $var1 = 3;
echo $var1;
isset($var1) || $var1 = 4;
echo $var1;
!isset($var2) or $var2 = 2;
echo $var2;
!isset($var2) or $var2 = 3;
echo $var2;
isset($var2) or $var2 = 4;
echo $var2;
?>
输出结果:
Notice: Undefined variable: var1 in D:\Web Projects\test\and.php on line 3
Notice: Undefined variable: var1 in D:\Web Projects\test\and.php on line 5
4
Notice: Undefined variable: var2 in D:\Web Projects\test\and.php on line 10
Notice: Undefined variable: var2 in D:\Web Projects\test\and.php on line 12
4
Notice: Undefined variable: var1 in D:\Web Projects\test\and.php on line 5
4
Notice: Undefined variable: var2 in D:\Web Projects\test\and.php on line 10
Notice: Undefined variable: var2 in D:\Web Projects\test\and.php on line 12
4
结论:如果||/or左边表达式为假,右面表达式方可执行。
二、&&、and、||、or表达式赋值给变量
1、&&、and
<?php
$true = TRUE;
$false = FALSE;
$rt1 = $true && $false;//$rt1:FALSE
$rt2 = $true and $false;//$rt2:TRUE
var_dump($rt1);//FALSE
var_dump($rt2);//TRUE
var_dump($true && $false);//FALSE
var_dump($true and $false);//FALSE
var_dump($rt1 = $true && $false); //FALSE
var_dump($rt2 = $true and $false);//FALSE
?>
这里最让人感到奇怪的就是为什么$rt1成了FALSE,而$rt2却是TRUE。其实这是PHP优先级在作怪。从文档中我们看到,赋值符号”=”的优先级低于逻辑与符号”&&”,但高于逻辑与符号”and”(也就是&& > = > and)。也就是说:
$rt1 = $true && $false;
$rt2 = $true and $false;
在PHP看来其实是:
$rt1 = ($true && $false);
($rt2 = $true) and $false;
2、||、or的情况与&&、and一样,自己写代码测试,再次不再赘述。
0 0
- PHP &&和and,||和or
- php && 和 and || 和or 区别
- and ,or 和and-or
- and 和 or
- MYSQL AND 和 OR
- PHP判断语句,and和or的使用
- php中or, |, ||, 和and,&, &&之间的作用及区别
- Python的and和or
- mongodb中的AND和OR
- shell脚本:and和or
- Python中的and和or
- AND 和 OR 运算符
- SQL中的and和or
- sqlite 中的or 和 and
- or和and的使用
- mysql 中的and和or
- python中的and和or
- elasticsearch中的and和or
- 企业QQ 补丁
- Fragment与Activity的信息传递
- STL源码剖析——基本算法stl_algobase.h
- ssh插件 (struts2spring3 hibernate4)
- [LeetCode]LRU Cache
- PHP &&和and,||和or
- 轻量级C++插件框架
- Solr各组件之间的关系图中英文对照版
- Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerTimeoutException: 服务器请求超时。
- 如何识别crashlog
- 9个另类赚钱的经典小故事
- 索引及其用途
- PHP FastCGI
- ios Crash Log 分析汇总