逻辑运算符比较简单,是我们人类进行逻辑思考时的一种方式。

讲出很多吊丝男士的心愿:某一个女人,要不长得漂亮、要不比我有钱我就娶她。如果一个条件都没有,那就算了。

上面的这种不评价好坏的心理状态,只是来说明这就是典型的计算机思维。

美丽这个条件成立(true) 或者 财富这个条件成立(true),则执行娶她的行为和动作。否则,就不娶这个女孩。

那我们把这些逻辑关于进行了归纳和总结,下面表格中的:$x为条件一,$y 为条件二。进行说明:

逻辑与,中文解释为并且。可理解为,$x 并且 $y 都为真(true)的时候执行。

逻辑或,中文解释为或者。可以理解为,$x或者$y其中一个为真(true)的时候执行。

逻辑非,中文解释取反。如果$x的执为假(false),进行一次非操作。非假(false)就为真了,就可以执行真区间了。反推true,则执行假区间了。

逻辑异或,如果$x和$y相同则为false,不相同则为true。举例说明详细说明$x and $y逻辑与(并且关系)$x 和$y 为真则返回真

$x && $y同上同上

$x or $y逻辑或$x,$y均为false时为假,其他情况全为真

$a||$b同上同上

!$x逻辑非取反,即true变为false,false变为true

$x xor $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,其他情况均为假。

逻辑或的特性是:两边为假均为假,其他情况全为真。

我们现在把自己想象成一个懒汉,非常非常懒。来思考逻辑与和逻辑或。可不可以这样理解:

逻辑与:如果前面第一个条件为false了,后面就可以不用执行了。

用代码表示: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;

?>

通过上例我们知道了&&与&的区别,||和 |的区别。我们也了解了什么是短路。那我们在什么地方可以用到短路呢?有一些奇怪的写法,我们必须了清楚。其实就是基础语法的再应用。

回顾3.3.1最后一段内容:<?php

//如果为defined('AUTH')存在AUTH常量则为true,不访问后面的exit了。如果为false则执行exit

defined('AUTH') or exit('存在安全因素不准访问');

?>

上面的一段代码就是典型的短路应用的代码

exit 的意思是指在此处停止运行,退出。后面的PHP代码不再执行了。它有两种用法:

1,直接exit; 就是直接退出

2,exit(‘提示内容’),退出的时候还给出一段提示内容

exit

读音:[ˈeksɪt]

解释:退出

php逻辑函数,php基础语法之逻辑运算相关推荐

  1. C语言构造函数和释构函数,c++基础语法:构造函数与析构函数

    一.构造函数 类似于java,C++中也有构造函数的概念,相关用法如下: 1.1 构造函数的定义 #include using namespace std; class Student{ privat ...

  2. python基础语法(二)列表

    往期推荐: python基础语法(一)range函数 python基础语法(二)列表 前言 一.列表的创建与删除 二.列表的查询操作 1. 获取列表中指定元素的索引 2. 获取列表中的单个元素 3. ...

  3. JS:JavaScript编程语言基础语法总结

    JS:JavaScript编程语言基础语法总结 目录 常用基础语法 一.变量 1.声明变量var 二.语句 1.if判断语句 2.for循环语句 三.函数 1.定义一个函数 常用基础语法 consol ...

  4. python设计一个函数定义计算并返回n价调和函数_音乐编程语言musicpy教程(第三期) musicpy的基础语法(二)...

    这个是我在github上给我的项目musicpy写的wiki,分为数据结构,基础语法,实际应用三大部分来为大家讲解这门音乐编程语言,主要是想给大家写一个musicpy的详细的教程与介绍,目前wiki只 ...

  5. 【梳理】数字设计基础与应用 第1章 数字逻辑基础 1.3 逻辑代数基础 1.4 逻辑函数的表述方式

    教材:数字设计基础与应用 第二版 邓元庆 关宇 贾鹏 石会 编著 清华大学出版社 源文档高清截图在后 1.3逻辑代数基础 1.逻辑代数(logic algebra)又称布尔代数(Boolean alg ...

  6. python导入模块的语法结构_python学习第五讲,python基础语法之函数语法,与Import导入模块....

    python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 函数,就是一个代码块,这个代码块是别人写好的.我们调用就可以. 函数也可以称为方法. 1.函数语法定义 ...

  7. Theano官方文档的测试和总结(1):安装、基础语法、逻辑斯蒂回归

    http://deeplearning.net/software/theano/NEWS.html 目录 1. Theano的简介和安装 1.1 Theano简介 1.2 Theano安装 2 基础语 ...

  8. python基础语法复习[二] 函数、类

    python基础语法复习[二] 前言 一.函数 1.基本概念 2.一般实例 3.参数传递 (1)传不可变对象 (2)传可变对象 4.函数递归调用实例 (1)eg:实现字符串的反转: (2)递归思想画树 ...

  9. CorelDRAW插件-GMS插件开发-VBA基础语法-变量、运算符、函数-CDR插件(三)

    文章目录 1.变量 1.1.命名要求 1.2.作用域 1.3.变量赋值 1.4.数组 2.运算符 2.1.算术操作符 2.2.比较运算符 2.3.逻辑运算符 2.4.连接操作符 3.函数 3.1.无参 ...

  10. Excel-VBA基础语法(VBA简介、数据类型、变量、数组、运算符、内置函数、过程与函数)

    转载自:https://www.cnblogs.com/wzh313/articles/9737573.html 一.VBA介绍 1.宏和VBA的关系 vba是编程语言,宏是用vba代码保存下来的程序 ...

最新文章

  1. Storm 0.9安装指南
  2. 广搜破解密码(HDU1195)
  3. 前端也要学系列:设计模式之装饰者模式
  4. 1071 Speech Patterns (25 分)【难度: 简单 / 知识点: 哈希表 字符串】
  5. 使用HttpHandler解析并展示PDF文档内容
  6. spinner的理解
  7. 表单提交中Get和Post方式的区别及EncType表明提交数据的格式详解
  8. 用 CSS 实现元素垂直居中,有哪些好的方案?
  9. JavaScript——使用对话框
  10. 贴一段Jenkins的自动发布脚本
  11. java spring 多数据源_Spring多数据源解决方案
  12. 图片轮播器(swift)
  13. dedecms v5.7 图片集“图集内容”无法调用的解决办法
  14. 如何利用Mac电脑制作让你脱颖而出的简历
  15. 4.在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* *********** *********
  16. c51单片机编程实例c语言,C51单片机C语言编程基础和实例
  17. MT6763,MT6763T(P23),MT6750T,MT6755(P10)参数比较
  18. 【T+】取消记账提示入库失败,请至少选择两个字
  19. php 按钮美化,input(file)按钮样式美化第二种
  20. 企业支付宝账号注册认证流程

热门文章

  1. 苹果手机如何支持html5,苹果发布Safari 5 增强对HTML5的支持
  2. 模拟ic学习笔记(拉扎维)--番外 电路结构汇总复习
  3. 基于Java+SpringBoot+Vue前后端分离的客户信息管理系统设计与实现【源码+论文+演示视频+包运行成功】
  4. python 函数用写 吗_怎样才能写好一个 Python 函数
  5. html文档以纯文本形式存放 扩展名为,HTML文件以纯文本形式存放,扩展名为“*.htm”或“*.html”。若系统为UNIX系统,扩展名必须为“*.html”。...
  6. 输入一个字符串,统计其中数字字符出现的次数
  7. 地宫取宝(记忆化搜索模板)
  8. 南京西安双城灯会齐“点灯”:“文臣武将”相会明城墙下
  9. [2020/09] 你会不会忽然的出现,在街角的咖啡店
  10. 设置log4j2自动删除过期日志