PHP基础-运算符

PHP 的运算符是编程中非常基础但又非常重要的一部分,掌握它们能让你更灵活地处理各种逻辑、计算和流程控制。

算术运算符

用于基本数学运算:

运算符含义示例
+加法$a + $b
-减法$a - $b
*乘法$a * $b
/除法$a / $b
%取模$a % $b

示例:

<?php
$x=10; 
$y=6;
echo ($x+$y); // 输出16
echo'<br>';  // 换行echo ($x-$y); // 输出4
echo'<br>';  // 换行echo ($x*$y); // 输出60
echo'<br>';  // 换行echo ($x/$y); // 输出1.6666666666667
echo'<br>';  // 换行echo ($x%$y); // 输出4
echo'<br>';  // 换行$z=-$x; ///直接取负
echo$z;//整数之间的整除,参数也必须是整数,向下取整
var_dump(intdiv(10, 3)); //intdiv向下取整
?>

图片

图片

赋值运算符

赋值运算符是用于给变量赋值的运算符。在编程中,它的作用是将右侧的值赋给左侧的变量

中文英文符号
赋值运算符assignment operator=
加赋值运算符addition assignment operator+=
减赋值运算符subtraction assignment operator-=
乘赋值运算符multiplication assignment operator*=
除赋值运算符division assignment operator/=
取余赋值运算符modulo assignment operator%=

示例:

<?php
$x=10; 
echo$x; // 输出10
echo"<br>";
$y=20; 
$y+=100;
$y=$y+100;
echo$y; // 输出120
echo"<br>";$z=50;
$z-=25;
echo$z; // 输出25
echo"<br>";$i=5;
$i*=6;
echo$i; // 输出30
echo"<br>";$j=10;
$j/=5;
echo$j; // 输出2
echo"<br>";$k=15;
$k%=4;
echo$k; // 输出3
?>

图片

递增/递减运算符

递增/递减运算符(Increment / Decrement Operators) 是用来对变量的值进行加一或减一操作的运算符,在很多编程语言(如 C、C++、Java、PHP 等)中都非常常见。

PHP中的递增/递减运算符:

<?php
$x=10; 
echo++$x; // 输出11$y=10; 
echo$y++; // 输出10$z=5;
echo--$z; // 输出4$i=5;
echo$i--; // 输出5
?>

图片

比较运算符

比较运算符用于比较两个值的关系,并返回一个布尔值(true 或 false)。通常在 ifwhilefor 等条件语句中使用,用来判断某个条件是否成立

运算符含义示例结果
==等于(值相等)5 == '5'true(类型不比较)
===全等(值和类型都相等)5 === '5'false(类型不同)
!= 或 <>不等(值不相等)5 != '6'true
!==不全等(值或类型不相等)5 !== '5'true
>大于6 > 5true
<小于4 < 5true
>=大于等于5 >= 5true
<=小于等于4 <= 5true
<?php
$x=100; 
$y="100";var_dump($x==$y);  //bool(true)
echo"<br>";
var_dump($x===$y); //bool(false)
echo"<br>";
var_dump($x!=$y); //bool(false)
echo"<br>";
var_dump($x!==$y); //bool(true)
echo"<br>";$a=50;
$b=90;var_dump($a>$b); //bool(false)
echo"<br>";
var_dump($a<$b); //bool(true)
?>

图片

逻辑运算符

逻辑运算符用于对 多个条件进行组合判断,返回布尔值 true 或 false

例如:

  • 想判断用户的年龄 大于18 且 是会员

  • 想判断用户的账户余额 为0 或 被封禁

这时候就要用到逻辑运算符。

运算符名称功能描述示例
&&逻辑与如果两个操作数都为 true,则返回 true$a && $b
and逻辑与同 &&,但优先级较低$a = true and false;
||逻辑或如果两个操作数有一个为 true,则返回 true$a || $b
or逻辑或同 ||$a = true or false;
!逻辑非取反操作:true 变 falsefalse 变 true!$a
xor逻辑异或两个操作数只有一个为 true 时返回 true$a xor $b
and 和 && 的区别, or 和 || 的区别

主要体现在优先级: 

  • &&  运算符的优先级比  and  运算符高。 

  • 这意味着,在一个表达式中, &&  运算符会先被执行,然后才是  and  运算符。 

<?php
// 在表达式中使用&&运算符
$bool=true&&false; // 显示&&运算符的运算结果
echo"&&运算符的结果为:";
if($bool){echo'true';
}
else{echo'false';
}echo'----';
// 在表达式中使用and运算符
$bool=trueandfalse; 
// 显示and运算符的运算结果
echo"and运算符的结果为:";
if($bool){echo'true';
}
else{echo'false';
}
?>

图片

阻断效果
or-前面语句值为真,or后面不执行;否则,执行
$result=0orvar_dump('执行我的语句');  //输出-执行我的语句
var_dump($result);  //int 0
$result=2orvar_dump('执行我的语句');  //不输出
var_dump($result);  //int 2

图片

总结

运算符虽然只是 PHP 中最基础的一部分,但却无处不在、至关重要。理解它们的工作方式,是成为一个合格 PHP 开发者的第一步。如果你觉得文章有帮助,不妨收藏或转发一下,我们下次再见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/84758.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AR珠宝佩戴与传统的珠宝购物有哪些区别?​

AR 珠宝佩戴与传统的珠宝购物究竟存在着哪些显著区别呢?在传统的珠宝购物模式里&#xff0c;顾客往往需要花费时间和精力前往实体珠宝店。踏入店内&#xff0c;首先映入眼帘的便是那一排排的玻璃展柜&#xff0c;此时&#xff0c;销售人员会热情地走上前&#xff0c;小心翼翼地…

华为云CAE部署spring cloud服务

1 概述 华为云CAE&#xff08;Cloud Application Engine云应用引擎&#xff09;是一个面向WEB、微服务应用的Serverless托管服务&#xff0c;提供极速部署、极低成本、极简运维的一站式应用托管方案。支持从源码、软件包、镜像包快速发布应用&#xff0c;秒级弹性伸缩、按量付…

【技术工具】源码管理 - GIT工具

【技术工具】源码管理 - GIT工具 1 前言 之前参考语雀一位大佬的&#xff0c;但链接找不到了&#xff0c;仅供参考。 1、检查空白错误 //确认将提交的内容中有无空白信息 git diff --check 2、尝试让每一个提交成为一个逻辑的独立变更集 尽量使每笔提交都成为独立的patch&a…

Objective-c Block 面试题

以下是对我们这整段关于 Objective-C 中 Block、__block 修饰符、内存管理行为、生命周期等内容的全面总结&#xff0c;并附带了一套适合面试准备的面试题集&#xff08;带答案&#xff09;。 &#x1f9e0; 一、知识总结&#xff1a;Objective-C Block __block 修饰符 ✅ Bl…

AndroidMJ-基础-05

基础part5: 9:测试相关 postman genemotion espresso 10:性能相关 profiler 9.测试相关 espresso相关&#xff1a; Android Espresso 自动化测试指南&#xff08;Java 版&#xff09;-CSDN博客 10.性能相关 profiler相关&#xff1a; AndroidStudio之内层泄漏工具Profiler…

R语言 | 如何使用R书写html文档?

更灵活的书写方式&#xff0c;可以直接看3. 1. 可用函数 cat()函数writeLines()函数sink()函数重定向输出到HTML文件 小结&#xff1a;cat()适合简单HTML&#xff0c;writeLines()适合多行内容&#xff0c;sink()适合复杂场景。 说明&#xff1a;尽可能不用R包&#xff0c;减…

oracle 表空间超过最大限度,清理数据释放内存

目录 一、扩容&#xff1a;参考 https://blog.csdn.net/weixin_40841731/article/details/134931289 二、清理数据 1、查询文件大小情况&#xff08;管理员账号&#xff09; 2、查询表的大小&#xff08;使用该表空间的用户&#xff09; 3、清理数据&#xff08;使用该表空…

初版BL程序一些细节整理(碎碎念)

一.串口的中断触发 一般我们都是使用TXE或者RXNE来触发中断&#xff0c;其实还有完整传输结束的TC标志位和接收完成的IDLE标志位 这两个标志位有些不同&#xff0c;RXNE标志位只需要读取寄存器就会自行清除&#xff0c;但是这两个需要读取两个&#xff0c;拿IDLE举例子 这里需要…

为何京东与蚂蚁集团竞相申请稳定币牌照?

京东与蚂蚁集团竞相申请稳定币牌照&#xff0c;主要是为了抢占数字金融新赛道&#xff0c;结合香港的宽松监管政策与全球稳定币市场的快速增长。香港2023年推出的稳定币监管框架及2025年8月即将实施的《稳定币条例》&#xff0c;为企业提供了合规路径&#xff0c;吸引京东通过币…

[特殊字符] Harmony OS Next里的Web组件:网页加载的全流程掌控手册

&#x1f389; Harmony OS Next里的Web组件&#xff1a;网页加载的全流程掌控手册 ##Harmony OS Next ##Ark Ts ##教育 本文适用于教育科普行业进行学习&#xff0c;有错误之处请指出我会修改。 开发者必看的生命周期回调详解代码实操指南 作为开发者&#xff0c;你可能经常需…

【Java学习笔记】集合介绍

集合 > > 集合的引出 在之前常使用数组存储数据&#xff0c;存在的问题如下&#xff1a; &#xff08;1&#xff09;初始化时&#xff0c;长度必须指定&#xff0c;而且一旦指定&#xff0c;不能更改 &#xff08;2&#xff09;不方便扩容&#xff08;使用循环复制原…

电流传感器在汽车中的应用:从BMS电池管理到电机控制的工程解析

1 电流传感器&#xff1a;汽车电子系统的神经末梢 在现代汽车电子架构中&#xff0c;电流传感器已从简单的测量元件演变为​​关键的安全与性能组件​​。作为动力系统的“神经末梢”&#xff0c;它们持续采集电流参数并反馈至控制单元&#xff0c;构成​​实时闭环控制的基础…

积分商城拼团系统框架设计

一、逻辑分析 用户相关逻辑 用户注册与登录&#xff1a;用户需要注册账号才能参与积分商城拼团活动。注册过程中需收集必要信息&#xff0c;如用户名、密码、联系方式等。登录功能则用于验证用户身份&#xff0c;方便用户后续操作。用户积分管理&#xff1a;用户通过各种途径&a…

java 数据结构-HashMap

一、hashmap特点 1、HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 2、HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。 3、HashMap 是无序的,即不会记录插入的顺序。 4、HashMa…

DBSyncer:一款开源的数据同步工具

DBSyncer&#xff08;简称 dbs&#xff09;是一款开源的实时数据同步中间件&#xff0c;提供 MySQL、Oracle、SQL Server、PostgreSQL、SQLite、Elasticsearch、Kafka、File、SQL 数据库等同步场景&#xff1b;支持上传插件自定义同步转换业务&#xff1b;提供监控全量和增量数…

大型语言模型的中毒攻击的系统评价

大家读完觉得有帮助记得及时关注和点赞&#xff01;&#xff01;&#xff01; 抽象 随着预训练大型语言模型 &#xff08;LLM&#xff09; 及其训练数据集的广泛使用&#xff0c;人们对与其使用相关的安全风险的担忧显著增加。 这些安全风险之一是 LLM 中毒攻击的威胁&#xff…

Windows 10更新失败解决方法

前言 在我们使用 Windows 时的时候&#xff0c;很多时候遇到系统更新 重启之后却一直提示“我们无法完成更新&#xff0c;正在撤销更改” 这种情况非常烦人&#xff0c;但其实可以通过修改文件的方法解决&#xff0c;并且正常更新到最新版操作系统 01修改注册表 管理员身份…

Redis高级|Redis单线程VS多线程(基础)

文章目录 面试题Redis为什么选择单线程为什么逐渐加入多线程特性Redis6、Redis7的多线程特性和IO多路复用入门Redis7多线程 面试题 Redis到底是单线程还是多线程&#xff1f;IO多路复用听说过吗&#xff1f;Redis为什么这么快&#xff1f; Redis为什么选择单线程 其实Redis单…

ONLYOFFICE 的AI技巧-1.集成OCR、文本转图像、电子表格集成等新功能

随着人工智能不断革新数字办公空间&#xff0c;我们通过全新的 ONLYOFFICE AI 插件再次实现突破。无论您是长期用户还是新手&#xff0c;这些更新都将让您的文档处理更加智能、直观且高效。让我们一起来了解这些最新增强功能——部分功能已在 ONLYOFFICE 文档 8.3.3 版本中上线…

Snipaste:一款简单强大的跨平台截图工具

给大家介绍一款我在日常写作中使用的截图工具&#xff1a;Snipaste 。它是一个支持截图&#xff08;Snip&#xff09;和贴图&#xff08;Paste&#xff09;功能的免费软件&#xff0c;支持 Windows、macOS、Linux 跨平台。 智能截图 Snipaste 提供了强大的截图功能&#xff0c…