来源:自学PHP网 时间:2018-02-09 16:45 作者: 阅读:次
[导读] PHP中文网教程为您提供《php入门教程之一周学会PHP》之 php基础语法之逻辑运算 章节的在线实战教程供您学习,你可以进行笔记、提问、讨论和资料下载...
逻辑运算符比较简单,是我们人类进行逻辑思考时的一种方式。 讲出很多吊丝男士的心愿:某一个女人,要不长得漂亮、要不比我有钱我就娶她。如果一个条件都没有,那就算了。 上面的这种不评价好坏的心理状态,只是来说明这就是典型的计算机思维。 美丽这个条件成立(true) 或者 财富这个条件成立(true),则执行娶她的行为和动作。否则,就不娶这个女孩。 那我们把这些逻辑关于进行了归纳和总结,下面表格中的:$x为条件一,$y 为条件二。进行说明: 逻辑与,中文解释为并且。可理解为,$x 并且 $y 都为真(true)的时候执行。 逻辑或,中文解释为或者。可以理解为,$x或者$y其中一个为真(true)的时候执行。 逻辑非,中文解释取反。如果$x的执为假(false),进行一次非操作。非假(false)就为真了,就可以执行真区间了。反推true,则执行假区间了。 逻辑异或,如果$x和$y相同则为false,不相同则为true。
那我们来举几个例子来试试,你自己也要记得多做几次实验(可结合3.4.4这一章中的比较运算符自己写几个例子哟)。 逻辑与: <?php $x = true; $y = false; //逻辑与(并且),要求两个都为true才执行真区间,所以代码中执行假区间 if($x && $y){ echo '执行了真区间'; }else{ echo '执行了假区间'; } ?> 逻辑或: <?php $foo = false; $bar = true; //逻辑或,有一个为真则为真 if($foo || $bar){ echo '执行真区间'; }else{ echo '执行假区间'; } ?> 逻辑非: <?php $foo = false; //逻辑非,把false变为了true if(!$foo){ echo '执行真区间'; }else{ echo '执行假区间'; } ?> 【重点知识】短路 短路就是采用一个懒人模式来思考问题。 逻辑与的特性是:两边为true即为true,其他情况均为假。 我们现在把自己想象成一个懒汉,非常非常懒。来思考逻辑与和逻辑或。可不可以这样理解: 用代码表示:if($x && $y) 如果$x已经为false了,后面的$y 就没有执行必要了。 逻辑或:前面第一个条件为true了,后面就不用执行了。 用代码表示:if($x || $y) 如果$x已经为true了,后面的$y 就没有执行必要了。 我们写段代码来证明一下: <?php $x = false; $y = 2; if($x && $y++){ echo '真'; }else{ echo '假'; } //结果还为2,说明没有执行$y++ echo $y; ?> 代码如下,将两个&符改为一个&符试试: <?php $x = false; $y = 2; if($x & $y++){ echo '真'; }else{ echo '假'; } //再看看结果 echo $y; ?> 我们来看看短路的逻辑或: <?php $x = true; $y = 2; if($x || $y++){ echo '真'; }else{ echo '假'; } //结果,因为$x已经为true了,肯定执行真区间没有必要执行$y++了 echo $y; ?> 改成一个 | 再看看执行结果 <?php $x = true; $y = 2; if($x | $y++){ echo '真'; }else{ echo '假'; } //自己运行对比结果 echo $y; ?> 通过上例我们知道了&&与&的区别,||和 |的区别。我们也了解了什么是短路。那我们在什么地方可以用到短路呢?有一些奇怪的写法,我们必须了清楚。其实就是基础语法的再应用。 <?php //如果为defined('AUTH')存在AUTH常量则为true,不访问后面的exit了。如果为false则执行exit defined('AUTH') or exit('存在安全因素不准访问'); ?> 上面的一段代码就是典型的短路应用的代码 exit 的意思是指在此处停止运行,退出。后面的PHP代码不再执行了。它有两种用法: exit |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com