07 Php学习:运算符

PHP 算术运算符

在这里插入图片描述
在 PHP 中,算术运算符用于执行基本的数学运算,包括加法、减法、乘法、除法、取余数,负数运算、取反和并置运算。以下是这些运算符的详细解释和示例:

  1. 加法运算符 +:用于将两个数值相加。
$a = 5;
$b = 3;
$result = $a + $b; // 5 + 3
echo $result; // 输出 8
  1. 减法运算符 -:用于从第一个数值中减去第二个数值。
$a = 10;
$b = 4;
$result = $a - $b; // 10 - 4
echo $result; // 输出 6
  1. 乘法运算符 *:用于将两个数值相乘。
$a = 6;
$b = 2;
$result = $a * $b; // 6 * 2
echo $result; // 输出 12
  1. 除法运算符 /:用于将第一个数值除以第二个数值。
$a = 20;
$b = 5;
$result = $a / $b; // 20 / 5
echo $result; // 输出 4
  1. 取余数运算符 %:用于取得两个数相除后的余数。
$a = 17;
$b = 5;
$result = $a % $b; // 17 除以 5 的余数
echo $result; // 输出 2
  1. 负数运算符 -:用于将数值变为负数。
$a = 8;
$negative_a = -$a; // 将 $a 变为负数
echo $negative_a; // 输出 -8
  1. 取反运算符 ~:用于按位取反,将二进制数每一位取反。
$a = 5; // 二进制表示为 00000101
$neg_a = ~$a; // 二进制取反得到 11111010,即 -6
echo $neg_a; // 输出 -6
  1. 字符串并置运算符 .:用于将两个字符串连接成一个新的字符串。
$str1 = "Hello, ";
$str2 = "World!";
$combined_str = $str1 . $str2; // 连接两个字符串
echo $combined_str; // 输出 Hello, World!

上述是 PHP 中常见的算术运算符和操作符,可以进行基本的数学运算、按位运算、字符串拼接等操作。这些运算符能够帮助我们进行各种数值处理和数据操作。

intdiv() 除法取整

intdiv() 是 PHP 7 新增的用于整数除法的函数。它会返回两个数相除的结果,且结果会被强制转换为整数类型。以下是关于 intdiv() 函数的详细信息:

语法intdiv(int $dividend, int $divisor): int

  • $dividend:被除数。
  • $divisor:除数。

返回值:结果被强制转换为整数类型。

示例

$result = intdiv(10, 3); // 整数除法 10 / 3,结果为 3.333,强制转换为整数,结果为 3
var_dump($result);  // 输出 int(3)

在上面的示例中,intdiv(10, 3) 进行整数除法运算,结果为 3.333,但由于使用了 intdiv() 函数,结果被强制转换为整数类型 3。

intdiv() 函数特别适合处理需要得到整数结果的除法运算,避免了由于常规除法操作可能产生的小数部分。这在一些需要得到整数结果的情况下非常有用,如计算页数、分配物品等场景。

var_dump() 打印变量类型和值

var_dump() 是 PHP 中用于打印变量的类型和值的函数。它可以用于调试和了解变量的结构和内容。以下是关于 var_dump() 函数的详细信息:

语法void var_dump(mixed $expression, mixed ...$expressions): void

  • $expression:要检查的变量或表达式。
  • $expressions(可选):可同时传递多个要检查的变量或表达式。

功能

  • 打印变量的类型和值。
  • 如果变量是数组或对象,var_dump() 还会显示它们的结构和成员变量。

示例

$name = "John";
$age = 30;
$height = 175.5;
$friends = array("Alice", "Bob", "Charlie");var_dump($name); // 打印字符串类型和值
var_dump($age); // 打印整数类型和值
var_dump($height); // 打印浮点数类型和值
var_dump($friends); // 打印数组类型和值,以及数组的结构和元素

输出示例

string(4) "John"
int(30)
float(175.5)
array(3) {[0]=>string(5) "Alice"[1]=>string(3) "Bob"[2]=>string(7) "Charlie"
}

var_dump() 函数是调试 PHP 代码时非常有用的工具,它能够提供关于变量类型、值以及数组或对象结构的详细信息,帮助开发者快速定位问题并进行调试。

PHP 赋值运算符

在这里插入图片描述
PHP 中有多种赋值运算符,它们用于给变量赋值。以下是常见的 PHP 赋值运算符及其详细解释和示例:

  1. 等号赋值运算符 =:将右侧表达式的值赋给左侧的变量。
$a = 5; // 将数字 5 赋给变量 $a
  1. 加法赋值运算符 +=:将右侧表达式的值加到左侧变量的值上,并将结果赋给左侧变量。
$b = 10;
$b += 3; // 相当于 $b = $b + 3;
echo $b; // 输出 13
  1. 减法赋值运算符 -=:从左侧变量的值中减去右侧表达式的值,并将结果赋给左侧变量。
$c = 8;
$c -= 2; // 相当于 $c = $c - 2;
echo $c; // 输出 6
  1. 乘法赋值运算符 *=:将左侧变量的值乘以右侧表达式的值,并将结果赋给左侧变量。
$d = 4;
$d *= 5; // 相当于 $d = $d * 5;
echo $d; // 输出 20
  1. 除法赋值运算符 /=:将左侧变量的值除以右侧表达式的值,并将结果赋给左侧变量。
$e = 20;
$e /= 4; // 相当于 $e = $e / 4;
echo $e; // 输出 5
  1. 取模赋值运算符 %=:将左侧变量的值取模右侧表达式的值,并将结果赋给左侧变量。
$f = 26;
$f %= 5; // 相当于 $f = $f % 5;
echo $f; // 输出 1
  1. 并置赋值运算符 .=:将右侧表达式的值连接到左侧变量的值末尾,并将结果赋给左侧变量。
$g = "Hello, ";
$g .= "World!"; // 相当于 $g = $g . "World!";
echo $g; // 输出 Hello, World!

以上是常见的 PHP 赋值运算符及其示例。这些赋值运算符可以帮助程序员在对变量进行操作时简化代码,并更加高效地进行赋值与运算。

PHP 递增/递减运算符

在这里插入图片描述
在 PHP 中,递增(Increment)和递减(Decrement)运算符用于增加或减少变量的值。这些运算符对于循环或值的快速修改非常有用。以下是递增和递减运算符的详细解释和示例:

递增运算符

  1. 前缀递增运算符 ++$var:先将 $var 的值加 1,然后返回 $var 的值。
$a = 5;
echo ++$a; // 输出 6,$a 先增加 1,然后返回 $a 的值
  1. 后缀递增运算符 $var++:先返回 $var 的值,然后将 $var 的值加 1。
$b = 5;
echo $b++; // 输出 5,$b 的原始值被返回,然后 $b 增加 1
echo $b; // 输出 6,显示 $b 更新后的值

递减运算符

  1. 前缀递减运算符 --$var:先将 $var 的值减 1,然后返回 $var 的值。
$c = 5;
echo --$c; // 输出 4,$c 先减少 1,然后返回 $c 的值
  1. 后缀递减运算符 $var--:先返回 $var 的值,然后将 $var 的值减 1。
$d = 5;
echo $d--; // 输出 5,$d 的原始值被返回,然后 $d 减少 1
echo $d; // 输出 4,显示 $d 更新后的值

递增和递减运算符是在编程中经常使用的,尤其在循环和迭代中。它们提供了一种快速简便的方法来修改变量的值。重要的是要记住前缀和后缀运算符的区别,因为它们在返回值时的行为是不同的。

PHP 比较运算符

在这里插入图片描述
在 PHP 中,比较运算符用于比较两个值的大小,并根据比较结果返回布尔值(true 或 false)。以下是常见的比较运算符及其详细解释和示例:

  1. 相等运算符 ==:检查两个值是否相等,不考虑数据类型。
$a = 5;
$b = "5";
var_dump($a == $b); // 输出 bool(true)
  1. 全等运算符 ===:检查两个值是否相等且数据类型必须相同。
$x = 10;
$y = "10";
var_dump($x === $y); // 输出 bool(false)
  1. 不等运算符 != or <>:检查两个值是否不相等,不考虑数据类型。
$c = 8;
$d = 12;
var_dump($c != $d); // 输出 bool(true)
  1. 不全等运算符 !==:检查两个值是否既不相等也数据类型不同。
$e = 15;
$f = "15";
var_dump($e !== $f); // 输出 bool(true)
  1. 大于运算符 >:检查左侧值是否大于右侧值。
$g = 20;
$h = 15;
var_dump($g > $h); // 输出 bool(true)
  1. 小于运算符 <:检查左侧值是否小于右侧值。
$j = 25;
$k = 30;
var_dump($j < $k); // 输出 bool(true)
  1. 大于等于运算符 >=:检查左侧值是否大于或等于右侧值。
$m = 40;
$n = 40;
var_dump($m >= $n); // 输出 bool(true)
  1. 小于等于运算符 <=:检查左侧值是否小于或等于右侧值。
$p = 50;
$q = 60;
var_dump($p <= $q); // 输出 bool(true)

比较运算符在控制流程、条件语句和循环等方面非常有用,可以帮助程序员进行值的比较和作出相应的决策。通过合理使用比较运算符,可以更好地控制代码的逻辑和流程。

PHP 逻辑运算符

在这里插入图片描述

PHP 数组运算符

在这里插入图片描述

三元运算符

在 PHP 中,三元运算符(也称为条件运算符)是一种简洁的条件语句,用于根据条件的真假返回不同的值。它的语法如下:

$variable = (condition) ? value_if_true : value_if_false;
  • 如果 condition 为真,则会返回 value_if_true 的值。
  • 如果 condition 为假,则会返回 value_if_false 的值。

以下是一个简单的示例:

$age = 20;
$is_adult = ($age >= 18) ? "Yes" : "No";
echo $is_adult; // 输出 "Yes"

在这个示例中,如果年龄大于等于 18,则 $is_adult 的值为 “Yes”,否则为 “No”。

三元运算符通常用于简单的条件分支,使代码更为简洁和易读。但过度使用三元运算符有时候可能会导致可读性下降,因此需要合理地使用。

组合比较符

PHP 7 中引入了一种新的运算符,称为组合比较符(Combined Comparison Operator)或太空船操作符(Spaceship Operator),由 <=> 组成。这个运算符用于进行值的比较,返回一个整数来表示两个值的关系。下面是组合比较符的使用方式和示例:

$value1 <=> $value2
  • 如果 $value1 小于 $value2,则返回 -1
  • 如果 $value1 等于 $value2,则返回 0
  • 如果 $value1 大于 $value2,则返回 1

示例:

echo 3 <=> 5; // 输出 -1,因为 3 小于 5
echo 5 <=> 5; // 输出 0,因为 5 等于 5
echo 8 <=> 5; // 输出 1,因为 8 大于 5

组合比较符常用于对数组进行排序,特别是在使用 usort()uasort() 函数时,可以更简洁、高效地指定自定义排序规则。通过使用组合比较符,可以减少编写自定义排序函数的复杂性,提高代码可读性和维护性。

运算符优先级

在这里插入图片描述

关注我,不迷路,共学习,同进步

关注我,不迷路,共学习,同进步
在这里插入图片描述

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

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

相关文章

论文阅读——Sat2Vid

Sat2Vid: Street-view Panoramic Video Synthesis from a Single Satellite Image 提出了一种新颖的方法&#xff0c;用于从单个卫星图像和摄像机轨迹合成时间和几何一致的街景全景视频。 即根据单个卫星图像和给定的观看位置尽可能真实地、尽可能一致地合成街景全景视频序列。…

【汇编语言实战】统计个数(创新版)

内存中有10个分布在0至100内的正整数&#xff0c; 求小于60的数的个数num1&#xff0c;大于或等于60且小于80的数的个数num2&#xff0c;大于或等于80且小于100的数的个数num3 C语言描述该程序流程&#xff1a; #include <stdio.h> int main() {int a[]{1, 20, 95, 32,…

RecyclerView的复用与回收

目录 0.前言&#xff1a;推荐初学者阅读RecyclerView机制 1.复用与回收的关系 1.1复用流程 1.2回收流程 1.3复用与回收的先后关系 2.刷新机制 0.前言&#xff1a;推荐初学者阅读RecyclerView机制 http://t.csdnimg.cn/2hUeU 1.复用与回收的关系 滚动屏幕——“先复用&…

东方博宜 1738. 胜负对决

东方博宜 1738. 胜负对决 以为这道题很简单呢&#xff0c;结果提交两次还不对&#xff0c;气死个人~ 思路&#xff1a;这道题的重点在于看清楚题意&#xff0c;是第奇数个&#xff0c;而不是数是奇数 。 还有&#xff0c;如果按照位数的奇偶来判定&#xff0c;那在读取数组的时…

台灯哪个牌子好,五大护眼灯品牌排行分享

​当前&#xff0c;我国青少年的近视率已超过半数&#xff0c;位居全球之首&#xff0c;且近视发生年龄呈现下降趋势。长时间用眼和过度使用电子产品是导致近视高发的主要因素。面对这一挑战&#xff0c;如何改善现状成为了一个亟待解决的问题。对于儿童而言&#xff0c;降低近…

浅谈在线监测系统在水厂水质管理工程中的应用与研究

【摘要】&#xff1a;随着水厂水质管理技术和管理水平的提升&#xff0c;达到了在线监测系统通过监测数据的反馈&#xff0c;及时发现问题&#xff0c;快速处理事故&#xff0c;优化了水资源的利用率&#xff0c;提高了供水系统的稳定性和安全性&#xff0c;从而有效地提高供水…

2.网络编程-HTTP和HTTPS

目录 HTTP介绍 HTTP协议主要组成部分 GET 和 POST有什么区别 常见的 HTTP 状态码有哪些 http状态码100 HTTP1.1 和 HTTP1.0 的区别有哪些 HTTPS 和 HTTP 的区别是什么 HTTP2 和 HTTP1.1 的区别是什么 HTTP3 和 HTTP2 的区别是什么 HTTPS的请求过程 对称加密和非对称…

初识--数据结构

什么是数据结构&#xff1f;我们为什么要学习数据结构呢....一系列的问题就促使我们不得不了解数据结构。我们不禁要问了&#xff0c;学习C语言不就够了吗&#xff1f;为什么还要学习数据结构呢&#xff1f;这是因为&#xff1a;数据结构能够解决C语言解决不了的问题&#xff0…

【NLP】隐马尔可夫模型(HMM)与条件随机场(CRF)简介

一. HMM 隐马尔可夫模型&#xff08;Hidden Markov Model, HMM&#xff09;是一种用于处理含有隐藏状态的序列数据的统计学习模型。通过建模隐藏状态之间的转移关系以及隐藏状态与观测数据的生成关系&#xff0c;HMM能够在仅观察到部分信息的情况下进行状态推理、概率计算、序…

一分钟了解机器人自由度

目录 自由度的定义 自由度的分类 自由度的影响 影响自由度的主要参数 关节类型和数量 机械结构 控制系统 自由度控制的硬件架构原理 传感器 执行器 控制器 通信接口 软件和算法 机器人的自由度是指机器人在空间中可以独立移动的方向和角度的数量&#xff0c;它是衡…

面向对象设计原则实验“依赖倒置原则”

高层模块不应该依赖于低层模块。二者都应该依赖于抽象。抽象不应该依赖于细节。细节应该依赖于抽象。 &#xff08;开闭原则、里氏代换原则和依赖倒转原则的三个实例很相似&#xff0c;原因是它之间的关系很紧密&#xff0c;在实现很多重构时通常需要同时使用这三个原则。开闭…

【C++】模版

目录 一、泛型编程二、函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的原理2.4 函数模板的实例化2.5 模板参数的匹配原则 三、类模板3.1 类模板的定义格式3.2 类模板的实例化 四、非类型模板参数五、模板的特化5.1 概念5.2 函数模板特化5.3 类模板特化5.3.1 全特化5.3…

天书奇谈_源码_搭建架设_3D最新天启版_自带假人

本教程仅限学习使用&#xff0c;禁止商用&#xff0c;一切后果与本人无关&#xff0c;此声明具有法律效应&#xff01;&#xff01;&#xff01;&#xff01; 一. 效果演示 天书奇谈_源码_搭建架设 环境&#xff1a; centos7.6 &#xff0c; 放开所有端口 源码获取 https://…

泰山众筹:电商新模式解析与优势探讨

一、泰山众筹模式概述 泰山众筹&#xff0c;是一种创新的电商模式&#xff0c;其核心在于通过产品销售与积分众筹的结合&#xff0c;实现用户与平台的共赢。用户购买产品获得积分&#xff0c;随后可将积分投入众筹活动&#xff0c;成功出局者可获得奖励并提现。 二、泰山众筹的…

智能运维场景 | 科技风险预警,能实现到什么程度?

[ 原作者&#xff1a;擎创夏洛克&#xff0c;本文略做了节选和改编 ] 每次一说到“风险预警”&#xff0c;就会有客户问我们能做怎样的风险预警。实际上在智能运维厂商来说&#xff0c;此风险非彼风险&#xff0c;不是能做银行的业务上的风险预警&#xff08;比如贷款风险等&a…

Java工具类:批量发送邮件(带附件)

​ 不好用请移至评论区揍我 原创代码&#xff0c;请勿转载&#xff0c;谢谢&#xff01; 一、介绍 用于给用户发送特定的邮件内容&#xff0c;支持附件、批量发送邮箱账号必须要开启 SMTP 服务&#xff08;具体见下文教程&#xff09;本文邮箱设置示例以”网易邮箱“为例&…

基于Springcloud可视化项目:智慧工地可视化大数据云平台源码

目录 技术架构 智慧工地系统在实际推行过程中遇到的问题 智慧工地接纳程度较低 基础设施条件有待完善 智慧工地整体生态尚未完善 智慧工地平台各功能模块 施工过程工信程息信管息理管模理块 人员管理模块 生产管理模块 技术管理模块 质量管理模块 安全管理模块 绿…

从零开始学Spring Boot系列-SpringApplication

SpringApplication类提供了一种从main()方法启动Spring应用的便捷方式。在很多情况下&#xff0c; 你只需委托给 SpringApplication.run这个静态方法 &#xff1a; SpringBootApplicationpublic class SpringbootLearningApplication {public static void main(String[] args) …

ACL实验

要求&#xff1a;1、PC1可以telnet登录R1&#xff0c;不能ping通R1 2、PC1可以ping通R2&#xff0c;但不能登录R2。 3、PC2的所有规则与pc1相反。 第一步、如图配置IP地址 第二步、运行静态路由协议&#xff0c;使全网可达 [R2]ip route-static 192.168.2.0 24 192.168.1.1…