【PHP入门】2.1-运算符
-运算符-
运算符:operator,是一种将数据进行运算的特殊符号,在PHP中一共有十种运算符之多。
2.1.1赋值运算符
赋值运算:符号是“=”,表示将右边的结果(可以是变量、数据、常量和其它运算出来的结果),保存到内存的某个位置,然后将位置的内存地址赋值给左侧的变量(常量)。
2.1.2算术运算符
算术运算:基本算术操作
+ //执行数据累加
- //数据相减
* //键盘上没有乘法符号,使用*代替,两个数相乘
/ //正斜杠代替,表示两个数相除
% //取余(模)运算,两个数(整数)相除,保留余数
在进行除法运算或者取余运算的时候,对应的除数(第二个数)不能为0
2.1.3比较运算符
比较运算:比较两个数据的大小,或者两个内容是否相同,返回的结果都是布尔类型:满足返回true,不满足返回false
> //左边大于右边,返回结果true
\>= //左边大于等于右边
< //左边小于右边
<= //左边小于或者等于右边
== //左边的与右边的相同(大小相同)
!= //左边的与右边的不同(大小不同)
=== //全等于,左边与右边相同:大小以及数据的类型都要相同
!== //不全等于,只有大小或者类型不同
2.1.4逻辑运算符
逻辑运算:针对不同的结果进行匹配。满足条件返回true,不满足返回false
&& //逻辑与,左边的条件与右边的条件同时成立(两边结果都为true)
|| //逻辑或,左边的条件或者右边的条件只要有一个满足即可
! //逻辑非,对已有条件进行取反,本身为true,取反结果就是false
逻辑与和逻辑或又称之为短路运算:如果第一个表达式结果已经满足条件了,那么就不会运行逻辑运算符后面的表达式:在书写代码的时候,尽量将出现概率最高的(能够直接判断出结果)的表达式放到第一位
2.1.5连接运算符
连接运算:是PHP中将多个字符串拼接的一种符号
. //将两个字符串连接到一起
.= // 复合运算,将左边的内容与右边的内容连接起来,然后重新赋值给左边变量
A .= b ===== A = A . b
2.1.6错误抑制符
在PHP中有一些错误可以提前预知,但是这些错误可能无法避免,但是又比希望报错给用户看,可以使用错误抑制符处理。
@ //在可能出错的表达式前面使用@符号即可
错误抑制符通常在生产环境(上线)会用到,在开发的时候不会用:系统本身最好没有任何错误。
2.1.7三目运算符
三目运算:有三个表达式参与的运算(简单的的分支结构缩写)
语法格式:
表达式1 ? 表达式2 :表达式3;
运算:如果表达式1成立,那么执行表达式2,否则执行表达式3;
注意:如果表达式本身比较复杂,建议使用括号包起来。
三目运算可以进行复合三目运算:三目运算中的表达式2和3都是可以是另外一个三目运算。
表达式1 ? (表达式2 ? 表达式4 : 表达式5) : (表达式3 ? 表达式5 : 表达式6);
2.1.8自操作运算符
自操作:自己操作自己的运算符
++ //在原来的值上+1
-- //在原来的值上-1$a = 1;
$a++; // $a = $a + 1;//在PHP中自操作符是可以放到变量前或者后:前置自操作和后置自操作$a = 1;
$a++;
++$a; //前置或者后置如果本身只有自操作,不参与其他运算(自操作同时),那么效果是一样的。但是如果自操作同时还参与别的运算,那么效果就不一样
$a = 1;
$b = $a++; //$a++会导致$a = $a + 1; $a = 2;,上面的$b = 1
$c =++$a; //++$a会导致$a = $a + 1; $a = 2;,$c = 2;
后置自操作:先把自己所保存的值留下来,然后改变自己,自己给别人的值是原来的值;
前置自操作:先把自己改变,然后把改变后的值给别人。
衍生符号:类似自操作
+= //左边的结果与右边结果相加,然后赋值给左边
-= //左边的减去右边的结果,然后复制给左边
*= //乘法操作
/= //除法操作
%= //模操作//注意:右边是一个整体 $a += $b; =è $a = $a + ($b);
如果进行除法或者取余运算,那么要考虑右边表达式的结果是否为0(为0出错)
2.1.9计算机码
计算机码:计算机在实际存储数据的时候,采用的编码规则(二进制规则)
计算机码:原码、反码和补码,数值本身最左边一位是用来充当符号位:正数为0,负数为1
原码:数据本身从十进制转换成二进制得到的结果
正数:左边符号位为0(正数的原码、反码和补码就是原码本身)
负数:左边符号位为1
反码:针对负数,符号位不变,其他位取反
补码:针对负数,反码+1
系统中存在两个0:+0和-0
+0: 00000000
-0: 10000000 原码
取反 11111111
补码 00000000
2.1.10位运算符
位运算:取出计算机中最小的单位(位bit)进行运算
& //按位与,两个位都为1,结果为1,否则为0
| //按位或,两个有一个为1,结果为1
注意:
1、 系统进行任何位运算的时候都是使用的补码
2、 运算结束之后都必须转换成原码才是最终要显示的数据~:按位非,一个位如果为1则变成0,否则反之
^ //按位异或,两个相同则为0,不同则为1
<< //按位左移,整个位(32位),向左移动一位,右边补0
\>> //按位右移,整个位向右移动一位,左边补符号位对应内容(正数补0,负数补1)
按位左移:乘以2的操作
按位右移:除以2的操作(不完全正确):整数除2会出现小数
2.1.11运算符优先级
运算符优先级:在多种运算符同时存在的时候,如何结合运算
相关文章:

【PHP入门】2.1-运算符
-运算符- 运算符:operator,是一种将数据进行运算的特殊符号,在PHP中一共有十种运算符之多。 2.1.1赋值运算符 赋值运算:符号是“”,表示将右边的结果(可以是变量、数据、常量和其它运算出来的结果&#…...

【Hive】——DML
1 Load(加载数据) 1.1 概述 1.2 语法 LOAD DATA [LOCAL] INPATH filepath [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1val1, partcol2val2 ...)]LOAD DATA [LOCAL] INPATH filepath [OVERWRITE] INTO TABLE tablename [PARTITION (partcol…...

【Spring教程31】SSM框架整合实战:从零开始学习SSM整合配置,如何编写Mybatis SpringMVC JDBC Spring配置类
目录 1 流程分析2 整合配置2.1 步骤1:创建Maven的web项目2.2 步骤2:添加依赖2.3 步骤3:创建项目包结构2.4 步骤4:创建SpringConfig配置类2.5 步骤5:创建JdbcConfig配置类2.6 步骤6:创建MybatisConfig配置类2.7 步骤7:创建jdbc.properties2.8 步骤8:创建SpringMVC配置…...
Tailwind CSS 入门
什么是 Tailwind CSS? Tailwind CSS 是一个 CSS 框架,它提供了大量的预定义实用类,可以用来快速构建 HTML 页面。Tailwind CSS 的优势包括: 可扩展性:Tailwind CSS 的类库是可扩展的,可以根据自己的需要进行定制。性能:Tailwind CSS 的类库是经过精心设计的,可以提高页…...

如何在简历中解释就业空白
您的工作经历有空缺吗?你不是一个人。有很多合理的理由可以解释为什么你需要休息一下。更重要的是,在一份真实正确的简历中,这些问题是无法避免的。直接解释就业差距总是更好,而且有很多因素需要考虑。你未来的老板想要了解工作轨…...

【计算机网络】TCP协议——2.连接管理(三次握手,四次挥手)
目录 前言 一. 建立连接——三次握手 1. 三次握手过程描述 2. TCP连接建立相关问题 二. 释放连接——四次挥手 1. 四次挥手过程描述 2. TCP连接释放相关问题 三. TCP状态转换 结束语 前言 TCP——传输控制协议(Transmission Control Protocol)。是一种面向连接的传…...

螺丝厂家:如何根据您的需求找到合适您的紧固件
螺丝是通用工具。它们几乎用于所有场景,并且它们的使用不限于任何一个行业。人们可以找到几乎所有周围都使用的螺钉和螺栓。在为工作选择合适的螺丝方面,人们应该记住一些事情。选择标准归结为紧固件的物理特性,包括制造它所用的原材料、施加…...
企业数字化转型进入深海区:生成式AI时代下如何制定数据战略
随着科技的不断进步,企业数字化转型已经不再是简单的概念,而是正在进入一个全新的深海区。在这个深海区,数据变得至关重要,而生成式人工智能(AI)的兴起更是推动了数字化转型的飞速发展。本文将探讨在这个生…...

html行内元素和块级元素的区别?
HTML中的元素可以分为两种类型:行内元素(inline)和块级元素(block) 文章目录 什么是行内元素什么是块级元素元素转换行内元素转块级元素块级元素转行内元素 区别总结 什么是行内元素 HTML的行内元素(inli…...

ResNet 原论文及原作者讲解
ResNet 论文摘要1. 引入2. 相关工作残差表示快捷连接 3. 深度残差学习3.1. 残差学习3.2. 快捷恒等映射3.3. 网络体系结构普通网络 plain network残差网络 residual network 3.4. 实施 4. 实验4.1. ImageNet分类普通的网络 plain network残差网络 residual network恒等vs.快捷连…...
liteflow规则引擎 执行Groovy脚本
在LiteFlow规则引擎中执行Groovy脚本的步骤相对简单。首先,确保你的项目中包含了LiteFlow的相关依赖。接下来,创建一个Groovy脚本规则,并使用LiteFlow引擎执行它。 以下是一个简单的示例: 添加LiteFlow依赖:在你的项…...

GZ015 机器人系统集成应用技术样题5-学生赛
2023年全国职业院校技能大赛 高职组“机器人系统集成应用技术”赛项 竞赛任务书(学生赛) 样题5 选手须知: 本任务书共 24页,如出现任务书缺页、字迹不清等问题,请及时向裁判示意,并进行任务书的更换。参赛队…...

Spark编程实验二:RDD编程初级实践
目录 一、目的与要求 二、实验内容 三、实验步骤 1、pyspark交互式编程 2、编写独立应用程序实现数据去重 3、编写独立应用程序实现求平均值问题 4、三个综合实例 四、结果分析与实验体会 一、目的与要求 1、熟悉Spark的RDD基本操作及键值对操作; 2、熟悉使…...

CleanMyMac X这一款mac电脑清理垃圾文件软件好用吗?
CleanMyMac X您的 Mac。极速如新。点按一下,即可优化调整整个 Mac畅享智能扫描 — 这款超级简单的工具用于优化您的 Mac。只需点按一下,即可运行所有任务,让您的 Mac 保持干净、快速并得到最佳防护。CleanMyMac 是一款功能强大的 Mac 清理程序…...

四通道 DMOS 全桥驱动MS35631N/MS35631
MS35631N/MS35631 是一款四通道 DMOS 全桥驱动器,可以驱动两 个步进电机或者四个直流电机。每个全桥的驱动电流在 24V 电源下可以 达到 1.2A 。 MS35631N/MS35631 集成了固定关断时间的 PWM 电流校正 器,以及一个 2bit 的非线性 DAC &…...

JWT令牌的作用和生成
JWT令牌(JSON Web Token)是一种用于身份验证和授权的安全令牌。它由三部分组成:头部、载荷和签名。 JWT令牌的作用如下: 身份验证:JWT令牌可以验证用户身份。当用户登录后,服务器会生成一个JWT令牌并返回…...
elementui el-pagination分页组件查询的时候当前页不更新
elementui el-pagination分页组件查询的时候当前页不更新 <mypagination v-if"pageshow" :currentPage.sync"pageNum" :pagesize"pageSize" :pagetotal"pageTotal" pagefunc"pageFunc"></mypagination>1.在加的…...

C++——C++11(1)
时至今日,C标准已经到了C23,但是你要说哪一次提出的标准最经 典,那C11一定会被人提及,C11带来了数量可观的变化,其中包 含了约140个新特性,以及对C03标准中约600个缺陷的修正,这使得 C11更像是从…...
CoPilot究竟如何使用?
基本步骤说明 CoPilot是一款由GitHub开发的人工智能代码助手,可以提供实时代码建议和自动完成功能。下面是使用CoPilot的详细介绍: 安装:首先,你需要在你的代码编辑器中安装CoPilot插件。目前,CoPilot支持一些主流的代…...
前端(三)
1.表格标签 数据展示: jason 123 read egon 123 dbj tank 123 hecha ... <table> <thead><tr> 一个tr就表示一行<th>username</th> 加粗文本<td>username</td> 正常文本</tr></thead> 表头(字段信息)<tbody>…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...