首页 > 编程语言 >【web 开发基础】PHP 快速入门(8)-PHP 运算符之逻辑运算符详解

【web 开发基础】PHP 快速入门(8)-PHP 运算符之逻辑运算符详解

时间:2023-03-22 18:35:26浏览次数:52  
标签:web 逻辑 echo 运算符 开发 PHP

前言

PHP 开发基础开速入门系列目录:

  1. 《​【web 开发基础】php 开发基础快速入门 (1)-PHP 介绍及开发环境快速安装和基本使用介绍​》
  2. 《​【web 开发基础】php 开发基础快速入门 (2)-PHP 的程序开发​》
  3. 《​【web 开发基础】php 开发基础快速入门 (3)-PHP 程序符号标记和程序注释的使用及空白符详解​》
  4. 《​【web 开发基础】php 开发基础快速入门 (4)-PHP 常量详解​》
  5. 《​【web 开发基础】PHP 快速入门(5)-PHP 运算符之算术运算符和字符串运算符详解​》
  6. 【web 开发基础】PHP 快速入门(6)-PHP 运算符之赋值运算符详解
  7. 【web 开发基础】PHP 快速入门(7)-PHP 运算符之比较运算符详解

何为逻辑运算符?

在形式逻辑中,逻辑运算符逻辑联结词把语句连接成更复杂的复杂语句。例如,假设有两个逻辑命题,分别是"正在下雨"和"我在屋里",我们可以将它们组成复杂命题"正在下雨,并且我在屋里"或"没有正在下雨"或"如果正在下雨,那么我在屋里"。一个将两个语句组成的新的语句或命题叫做复合语句复合命题

逻辑运算符用来判断一件事是"对"的还是"错"的,或者说是“成立”还是“不成立”。逻辑运算符只能操作布尔值类型的数据,处理后的结果值也是布尔值,经常使用逻辑运算符把各个运算式连接起来组成一个逻辑表达式,即是通过逻辑运算符来组合多个条件,并返回逻辑条件的布尔类型的结果。

PHP逻辑运算符有以下几种:

逻辑NOT:not 或者!

逻辑AND:and或者&&

逻辑OR:or或者||

逻辑异或XOR:xor

优先级为:NOT AND OR XOR

同级运算从左到右

如下图所示:

【web 开发基础】PHP 快速入门(8)-PHP 运算符之逻辑运算符详解_逻辑运算符

❤逻辑与:逻辑与表示“并且”的关系,两边的表达式必须都为TRUE,结果才能为真,否则整个表达式为假。逻辑与可以使用“and"和“&&”两种运算符运算,但在开发时使用“&&”的时候要多一点。➢逻辑或: 逻辑或表示“或者”的关系,两边的表达式只要有一个为TRUE,结果就为真,否则整个表达式为假。逻辑或可以使用“or” 和“I”两种运算符运算,但在开发时使用“I”的时候要多一点。

❤逻辑非: 逻辑非表示“取反”的关系,如果表达式为TRUE,结果就变为FALSE;如果表达式为FALSE,结果则为TRUE。逻辑非可以使用“not” 和“!”两种运算符运算,它是一元运算符,只能放在表达式的前面使用。在开发时使用“!” 的时候要多一点。

❤逻辑异或:逻辑异或在运算时两边的表达式不同时才为TRUE, 即必须是一 边为TRUE另一边为FAL SE。两边的表达式相同时,不管都是TRUE还是都是FALSE,结果都为FAL SE。逻辑异或使用“xor” 运算符运算。

4种逻辑运算符虽然只能操作boolean类型的值,但很少直接操作boolean值。通常都是使用条件运算符(>、<、==等)比较后的TRUE或FALSE的结果,再使用这些逻辑运算符连接起来做逻辑判断,或者和一些返回布尔型函数一起使用。 它们也经常用于if条件和while循环等流程控制语句中。每种逻辑运算符可以单独使用,也可以在一一个表达式中使用多个,还可以将多个不同逻辑运算符混合在一起使用,使用括号来指定优先级。

逻辑运算符的用法

<?php
$username = 'micai';
$password = '123456';
$wechatId = '';
$phone = '';

//使用一个逻辑与运算符和比较运算符一起使用作为条件判断
if($username == 'micai' && $password == '123456'){
echo '用户名和密码输入正确,登录成功!';echo '<br>';
}

//使用多个逻辑或,和比较运算符一起使用作为判断条件

if($username == '' || $password == '' || $wechatId == '' || $phone == ''){

echo '您还有选项没有填写!';echo '<br>';

}

//多个不同的逻辑运算符混合使用,和返回的boolean值的函数一起使用作为条件判断
if(isset($phone) && !empty($phone)){
echo '手机号已填写,是否绑定';echo '<br>';
}

if((isset($wechatId) && empty($wechatId)) || ((isset($phone)) && empty($phone))){
echo '最少填写一种联系方式!';echo '<br>';
}
?>

运行结果:

【web 开发基础】PHP 快速入门(8)-PHP 运算符之逻辑运算符详解_PHP_02

标签:web,逻辑,echo,运算符,开发,PHP
From: https://blog.51cto.com/micai01/6143077

相关文章

  • GitWeb
    GitWeb现在我们的项目已经有了可读可写和只读的连接方式,不过如果能有一个简单的web界面访问就更好了。Git自带一个叫做GitWeb的CGI脚本,运行效果可以到​​http://gi......
  • webrtc QOS笔记三 RTT计算,SRS增加XR
    webrtcQOS笔记三RTT计算,SRS增加XRRTT计算方式WebRTC中目前有两种方式计算RTT:基于媒体流发送端的计算(默认开启)。通过SenderReport(SR)与ReceiverReport(RR)携带的信息......
  • WebSocket通讯框架 jWebSocket
    jWebSocket提供用来创建基于HTML5的Web流通讯的应用框架。HTML5WebSockets将替换现有的XHR应用和Comet服务,通过一个灵活高速双向的TCPsocket通讯技术。jWebSo......
  • WebGIS|GML简介
    GML介绍GML是基于XML的空间信息编码标准,由OpenGISConsortium(OGC)提出,得到了许多公司的大力支持,如Oracle、Galdos、MapInfo、CubeWerx等。运用GML,封装的地理数据和图形......
  • Easy WebSocket
    EasyWebSocket是一个封装了​​WebSocket​​API的JavaScript库,大大简化了WebSocket应用的开发。​​jeromeetienne​​​/​​EasyWebsocket​​......
  • rapid-framework(java web快速开发脚手架,代码生成器)
    web项目脚手架rapid-framework是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架(struts,strust2,springmvc,hibernate,ibatis,spring_jdbc,flex)搭......
  • web服务器apache架构
    web服务器                                         在开始了解Apache前,我们先熟......
  • NginxWeb服务器定时切割日志shell脚本
    Nginx定时切割日志定时切割方式有按月切割、按天切割、按小时切割等。最常用的是按天切割。Nginx不支持像Apache一样使用cronolog来轮转日志,但是可以采用以下方式来实现日......
  • SVG、Canvas、WebGL对比
    SVG使用XML描述2D图形SVG中的元素和HTML元素一样,在输出图形前需要经过浏览器引擎的解析、布局计算和生成DOM树(SVG元素太多时非常消耗性能),可以添加事件SVG对象的属性发......
  • .NET Core WebApi接口ip限流实践
    .NETCoreWebApi接口ip限流实践前言之前一直想实现接口限流,但一直没去实现,然后刚好看到一篇文章是基于AspNetCoreRateLimit组件的限流策略。这个组件不做多的介绍,想了......