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.mzph.cn/news/806117.shtml

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

相关文章

初识--数据结构

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

【Java基础题型】矩阵的对角线求和

一、题目-矩阵 求一个33矩阵对角线元素之和。 输入格式 矩阵 输出格式 主对角线 副对角线 元素和 样例输入 1 2 3 1 1 1 3 2 1 样例输出 3 7 二、参考的知识 这里给大家送点英语单词&#xff0c;记得学习&#xff1a; p r i m a r y. adj.主要的&#xff1b;初…

软考中级之软件设计师---知识点汇总总结

软考中级之软件设计师---知识点汇总总结 软考介绍资格设置证书样本 计算机组成原理操作系统1. 进程的三态模型2. 磁盘调度算法 计算机网络1. 网络的分类2. 各层的互连设备3. 网络模型&#xff0c;协议簇4. 传输层协议TCP、UDP4.1 TCP (Transmission Control Protocol,传输控制协…

day77 JSPServlet

知识点&#xff1a; 1Web工程 2JSP是什么&#xff1f;JSP页面包含哪些内容&#xff1f;JSP页面执行原理 3JSP九大内置对象&#xff0c;及四个作用域 4什么是SERVLET&#xff1f;及servlet相关API 5MVC模型 6EL表达式及JSTL标签库的使用 7在JSP页面实现分页和多条件查询 …

【UE5 C++】访问修饰符public/protected/private继承

限制类与类之间访问级别的方法 public 在类中创建一个public的部分&#xff0c;即" public: "&#xff0c;public之下的所有内容都是公共的,可以在类之间访问 private&#xff08;最常见&#xff09; 如若没有指明修饰符&#xff0c;则默认为private 不能在类的外…

【LAMMPS学习】七、加速性能(4)加速器包

7. 加速性能 7.1.基准测试 7.2.测试性能 7.3.通用技巧 7.4.加速器包 LAMMPS 中添加了各种pair_style、fixes、compute 和其他命令的加速版本&#xff0c;其运行速度通常比标准非加速版本更快。有些需要您的系统上存在适当的硬件&#xff0c;例如GPU 或 Intel Xeon Phi 协处…

每日OJ题_BFS解决FloodFill②_力扣200. 岛屿数量

目录 力扣200. 岛屿数量 解析代码 力扣200. 岛屿数量 200. 岛屿数量 难度 中等 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方…

聊聊自己12岁车龄的福克斯

1. 2005年&#xff0c;国内进入了 福克斯 ( 参数 | 询价 ) 这台车&#xff0c;中间经历了两次换代&#xff0c;而我自己的这台车则是第一批进入国内的福克斯&#xff0c;它的到来颠覆了大家当时对汽车设计的印象&#xff0c;在十年前家用车都是捷达、桑塔纳等那些古板油腻的车…

全球变暖蓝桥杯2018省赛真题

全球变暖蓝桥杯2018省赛真题 DFS大法 全球变暖 #include <bits/stdc.h> using namespace std; #define int long long bool flag; char a[1010][1010]; int cnt,n,ans0,pre_ans0,d[4][2] {1,0,-1,0,0,1,0,-1}; void dfs(int x,int y){if(x>n||x<0||y>n||y<…

德勤:《中国AI智算产业2024年四大趋势》

2023年《数字中国建设整体布局规划》的发布&#xff0c;明确了数字中国是构建数字时代竞争优势的关键支撑&#xff0c;是继移动互联网时代以来经济增长新引擎。当我们谈论数字中国的构建&#xff0c;不仅仅是在讨论一个国家级的技术升级&#xff0c;而是关乎如何利用数字技术来…

操作系统(第四周 第一堂)

目录 回顾 进程调度&#xff08;process schedule&#xff09; 进程角度 计算机整体——调度队列 队列图 调度程序 总结 回顾 上一篇文章的重点只有一个————进程 对进程的了解包含以下几个方面&#xff1a;1、程序如何变为进程 2、进程在内存中的存储形式 3、进…

【网站项目】校园二手交易平台小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

力扣HOT100 - 189. 轮转数组

解题思路&#xff1a; 三次反转。 先反转一次&#xff0c;再根据 k 拆分成两部分各反转一次。 class Solution {public void rotate(int[] nums, int k) {k % nums.length;reverse(nums, 0, nums.length - 1);reverse(nums, 0, k - 1);reverse(nums, k, nums.length - 1);}pu…

相机参数的意义

相机标定的意义&#xff1a; 相机标定&#xff1a;使用带有pattern的标定板来求解相机参数的过程&#xff1b;用一个简化的数学模型来代表复杂的三维到二维的成像过程&#xff1b;相机参数包括&#xff1a;相机内参&#xff08;焦距等&#xff09;&#xff0c;外参&#xff08…

[CUDA 学习笔记] 矩阵转置算子优化

矩阵转置算子优化 矩阵转置是一种基础的矩阵操作, 即将二维矩阵的行列进行反转. 本文主要围绕行主序的二维单精度矩阵的转置考虑相关的优化. 以下 kernel 笔者均是在 NVIDIA V100 (7.0 算力) 上进行测试的, 且选择矩阵的行列维度大小为 M2300 N1500. Version 0. 朴素实现 _…

处理慢查询时使用explain一般看哪些字段

explain之后会出现这些&#xff0c;一般就只看下面这几个字段 select_type就是查询类型&#xff0c;在我司的业务里基本上用的都是简单查询&#xff0c;在内存中处理逻辑&#xff0c;复杂查询的话排查问题比较麻烦&#xff0c;引起慢查询还会拖累数据库&#xff0c;数据库里还…

three.js尝试渲染gbl模型成功!(三)

参照教程&#xff1a;https://cloud.tencent.com/developer/article/2276766?areaSource102001.5&traceId88k805RaN_gYngNdKvALJ &#xff08;作者&#xff1a;九仞山&#xff09; 通过最近两天查three.js入门教程了解到 这玩应支持包括 .obj、.gltf等类型的模型结构。 g…

微服务-网关

在微服务架构中&#xff0c;每个服务都是一个可以独立开发和运行的组件&#xff0c;而一个完整的微服务架构由一系列独立运行的微服务组成。其中每个服务都只会完成特定领域的功能&#xff0c;比如订单服务提供与订单业务场景有关的功能、商品服务提供商品展示功能等。各个微服…

2.SpringBoot利用Thymeleaf实现页面的展示

什么是Thymeleaf&#xff1f; Thymeleaf是一个现代服务器端Java模板引擎&#xff0c;适用于Web和独立环境&#xff0c;能够处理HTML&#xff0c;XML&#xff0c;JavaScript&#xff0c;CSS甚至纯文本。 Thymeleaf的主要目标是提供一种优雅且高度可维护的模板创建方式。为实现这…

斐讯E1拆机焊接TTL救砖

从老家的柜子里翻出来一台斐讯E1&#xff0c;老家在用的是斐讯K2P&#xff0c;300M宽带&#xff0c;房间和大部分位置wifi5足够跑满了&#xff0c;一直懒得升级&#xff0c;也足够用了。 不过发现部分位置信号比较弱&#xff0c;都不到50M&#xff0c;考虑插上E1做个AP中继&…