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() 函数时,可以更简洁、高效地指定自定义排序规则。通过使用组合比较符,可以减少编写自定义排序函数的复杂性,提高代码可读性和维护性。

运算符优先级

在这里插入图片描述

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL innoDB存储引擎多事务场景下的事务执行情况

一、背景 在日常开发中&#xff0c;对不同事务之间的隔离情况等理解如果不够清晰&#xff0c;很容易导致代码的效果和预期不符。因而在这对一些存在疑问的场景进行模拟。 下面的例子全部基于innoDB存储引擎。 二、场景&#xff1a; 2.1、两个事务修改同一行记录 正常来说&…

基于ssm乐购游戏商城系统论文

摘 要 随着社会的发展&#xff0c;游戏品种越来越多&#xff0c;计算机的优势和普及使得乐购游戏商城系统的开发成为必需。乐购游戏商城系统主要是借助计算机&#xff0c;通过对信息进行管理。减少管理员的工作&#xff0c;同时也方便广大用户对个人所需信息的及时查询以及管理…

IO流【 文件字符输入、出流;带缓冲区的字符输入、出流;对象流】

day36 IO流 字符流继承图 字符流 继day35 应用场景&#xff1a;操作纯文本数据 注意&#xff1a;字符流 字节流编译器 编译器&#xff1a;可以识别中文字符和非中文字符&#xff0c;非中文字符获取1个字节&#xff08;一个字节一个字符&#xff09;&#xff0c;编译器会根据…

Electron打包vue+java+nginx 踩坑记录

记录下遇到的问题&#xff1a; ⚠注意&#xff1a;64位系统和32位系统的配置不太一样 1、运行npm run packager失败 原因&#xff1a;在package.json没有对应命令 解决&#xff1a;在package.json 中添加对应命令&#xff0c;其中testApp是你想要的输入的项目名称&#xff0…

langchain 使用本地通义千问

langchian 使用已经下载到本地的模型&#xff0c;我们使用通义千问 显存&#xff1a;24G 模型&#xff1a;qwen1.5-7B-Chat&#xff0c;qwen-7B-Chat 先使用 qwen-7B-Chat&#xff0c;会报错用不了&#xff1a; 看了下是不支持这中模型&#xff0c;但看列表中有一个 Qwen 字样…

Asterisk语音卡驱动DAHDI 3.2版本对于TDM410P的支持

目录 DAHDITDM410base.c什么是电话语音卡 资本掌控下的Asterisk虽然继续履行开源社区的承诺&#xff0c;但实际上小手还是会四处乱摸&#xff0c;比如对于Asterisk硬件驱动DAHDI&#xff0c;就做了些隐蔽的小动作。 DAHDI DAHDI 全称是 Digium Asterisk Hardware Device Inter…

xss.pwnfunction-Ugandan Knuckles

这个是把<>过滤掉了所以只能用js的事件 ?weya"onfocus"alert(1337)" autofocus"

不允许在constexpr函数中进行声明

这是我用pycharm在windows系统下复现sfm深度学习网络(Deep Two-View Structure-from-Motion Revisited&#xff09;遇见的问题&#xff0c;复现时有段代码pytorch扩展cuda/c&#xff0c;pycharm中出现C标准相关的报错如下&#xff1a; 在网上查找很久无果&#xff0c;后面通过…

java国产化云HIS基层医院系统源码 SaaS模式

目录 ​ 云HIS开发环境 功能模块介绍&#xff1a; 1、门诊模块 2、住院模块 3、药房、药库模块 ​编辑 4、电子病历模块 5、统计报表模块 6、系统管理模块 系统优势 云his之电子病历子系统功能 云 his 系统是运用云计算、大数据、物联网等新兴信息技术&#xff0c;按…

python爬虫———激发学习兴趣的案列(第十三天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

linux内核驱动-在内核代码里添加设备结点

linux中&#xff0c;一切皆文件 我们在用户层用一些系统函数&#xff08;如&#xff1a;fopen等等&#xff09;时&#xff0c;会进入内核&#xff0c;内核会在字符注册了的设备号链表中查找。如果找到就运行我们写的设备文件的&#xff08;驱动&#xff09;函数 我们在前面已经…

[方案实操|数据技术]数据要素十大创新模式(1):基于区块链的多模态数据交易服务平台

“ 区块链以其公开共享、去中心化、不可篡改、可追溯和不可抵赖等优势&#xff0c;吸引了包括金融业、医疗业和政府部门等众多利益相关方的极大兴趣&#xff0c;被认为是解决数据安全交换问题的合适方案。” 武汉东湖大数据科技股份有限公司凭借基于区块链的多模态数据交易服务…

C语言---顺序表(一)

文章目录 前言1.数据结构1.1.什么是数据结构1.2.为什么需要数据结构&#xff1f; 2.顺序表2.1.顺序表的概念2.2.顺序表分类 3.动态顺序表的实现 前言 在前面20多篇博客中&#xff0c;我们已经学习完了C语言知识&#xff0c;下面我们开启新的一章—数据结构。 1.数据结构 1.1.…

消息队列介绍

MQ&#xff08;Message Queue&#xff09;&#xff1a;消息队列。通过典型的生产者和消费者模型&#xff0c;生产者不断向消息队列中生产消息&#xff0c;消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的&#xff0c;而且只关心消息的发送和接收&#xff0c;没有…

106. 跑步锻炼(结果填空)

public class Main { public static void main(String[] args) { int startYear 2000; int startMonth 1; int startDay 1; // 周六 int endYear 2020; int endMonth 10; int endDay 1; // 周四 int totalDistance 0; // 计算开始日期到结束日期之间的每一天 …

分布式文件系统

引言&#xff1a; GFS是一个可扩展的分布式文件系统&#xff0c;用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上&#xff0c;并提供容错功能。它可以给大量的用户提供总体性能较高的服务。 一、 GlusterFS 概述 1.1 GlusterFS简介 GlusterFS 是…

7B超越百亿级,北大开源aiXcoder-7B最强代码大模型,企业部署最佳选择

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 ​ 对代码大模型而言&#xff0c;比能做编程题更重要的&#xff0c;是看是能不能适用于企业…

LMDoply部署实战

使用LMDeoply部署各类开源大模型&#xff0c;进行推理实践。 一. 环境准备 1. 创建Conda环境 studio-conda -t lmdeploy -o pytorch-2.1.2 2. 安装LMDeploy 激活刚刚创建的虚拟环境。 conda activate lmdeploy 安装0.3.0版本的lmdeploy。 pip install lmdeploy[all]0.3.…

day77 JSPServlet

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

Harmony鸿蒙南向驱动开发-Watchdog

看门狗&#xff08;Watchdog&#xff09;&#xff0c;又称看门狗计时器&#xff08;Watchdog timer&#xff09;&#xff0c;是一种硬件计时设备。一般有一个输入、一个输出&#xff0c;输入叫做喂狗&#xff0c;输出连接到系统的复位端。当系统主程序发生错误导致未及时清除看…