- PHP 教程
- PHP - 首页
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 特性
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP - 数据类型
- PHP - 类型转换
- PHP - 类型混合
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件与 I/O
- PHP - 数学函数
- PHP - Heredoc 和 Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期与时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符
- PHP - 算术运算符
- PHP - 比较运算符
- PHP - 逻辑运算符
- PHP - 赋值运算符
- PHP - 字符串运算符
- PHP - 数组运算符
- PHP - 条件运算符
- PHP - 展开运算符
- PHP - 空值合并运算符
- PHP - 比较符
- PHP 控制语句
- PHP - 决策制定
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP - 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - Do…While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 函数
- PHP - 函数
- PHP - 函数参数
- PHP - 按值传递
- PHP - 按引用传递
- PHP - 默认参数
- PHP - 具名参数
- PHP - 可变参数
- PHP - 返回值
- PHP - 传递函数
- PHP - 递归函数
- PHP - 类型提示
- PHP - 变量作用域
- PHP - 严格类型
- PHP - 匿名函数
- PHP - 箭头函数
- PHP - 可变函数
- PHP - 局部变量
- PHP - 全局变量
- PHP 超全局变量
- PHP - 超全局变量
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 文件处理
- PHP - 文件处理
- PHP - 打开文件
- PHP - 读取文件
- PHP - 写入文件
- PHP - 文件是否存在
- PHP - 下载文件
- PHP - 复制文件
- PHP - 追加文件
- PHP - 删除文件
- PHP - 处理 CSV 文件
- PHP - 文件权限
- PHP - 创建目录
- PHP - 列出文件
- 面向对象 PHP
- PHP - 面向对象编程
- PHP - 类和对象
- PHP - 构造函数和析构函数
- PHP - 访问修饰符
- PHP - 继承
- PHP - 类常量
- PHP - 抽象类
- PHP - 接口
- PHP - 特性
- PHP - 静态方法
- PHP - 静态属性
- PHP - 命名空间
- PHP - 对象迭代
- PHP - 封装
- PHP - Final 关键字
- PHP - 重载
- PHP - 克隆对象
- PHP - 匿名类
- PHP Web 开发
- PHP - Web 概念
- PHP - 表单处理
- PHP - 表单验证
- PHP - 表单邮件/URL
- PHP - 完整表单
- PHP - 文件包含
- PHP - GET 和 POST
- PHP - 文件上传
- PHP - Cookie
- PHP - Session
- PHP - Session 选项
- PHP - 发送邮件
- PHP - 过滤输入
- PHP - Post-Redirect-Get (PRG)
- PHP - 闪存消息
- PHP 高级
- PHP - MySQL
- PHP.INI 文件配置
- PHP - 数组解构
- PHP - 编码规范
- PHP - 正则表达式
- PHP - 错误处理
- PHP - Try…Catch
- PHP - Bug 调试
- PHP - 适用于 C 开发人员
- PHP - 适用于 PERL 开发人员
- PHP - 框架
- PHP - Core PHP 与框架
- PHP - 设计模式
- PHP - 过滤器
- PHP - JSON
- PHP - 异常
- PHP - 特殊类型
- PHP - 哈希
- PHP - 加密
- PHP - is_null() 函数
- PHP - 系统调用
- PHP - HTTP 认证
- PHP - 交换变量
- PHP - Closure::call()
- PHP - 过滤后的 unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 预期
- PHP - Use 语句
- PHP - 整数除法
- PHP - 已弃用的功能
- PHP - 已删除的扩展和 SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI 进程
- PHP - PDO 扩展
- PHP - 内置函数
- PHP 有用资源
- PHP - 速查表
- PHP - 问答
- PHP - 快速指南
- PHP - 在线编译器
- PHP - 有用资源
- PHP - 讨论
PHP - 运算符类型
PHP 中的运算符是什么?
与任何编程语言一样,PHP 也具有运算符,运算符是预定义的符号(有时为关键字),用于对一个或多个操作数执行某些常用操作。
例如,使用表达式“4 + 5”等于 9。这里“4”和“5”称为操作数,而“+”称为运算符。
PHP 中有以下几种类型的运算符:
算术运算符
比较运算符
逻辑运算符
赋值运算符
字符串运算符
数组运算符
条件(或三元运算符)
本章将概述如何在 PHP 中使用这些运算符。在后续章节中,我们将更详细地介绍每个运算符及其工作原理。
PHP 中的算术运算符
我们使用算术运算符对给定的操作数执行数学运算,例如加法、减法、乘法、除法等。算术运算符(不包括增量和减量运算符)始终作用于两个操作数,但是这些操作数的类型应相同。
下表突出显示了 PHP 支持的算术运算符。假设变量“$a”保存 42,变量“$b”保存 20:
| 运算符 | 描述 | 示例 |
|---|---|---|
| + | 将两个操作数相加 | $a + $b = 62 |
| - | 从第一个操作数中减去第二个操作数 | $a - $b = 22 |
| * | 将两个操作数相乘 | $a * $b = 840 |
| / | 将分子除以分母 | $a / $b = 2.1 |
| % | 模运算符,整数除法后的余数 | $a % $b = 2 |
| ++ | 增量运算符,将整数值增加 1 | $a ++ = 43 |
| -- | 减量运算符,将整数值减少 1 | $a -- = 42 |
PHP 中的比较运算符
您可以使用比较运算符比较两个操作数并找出它们之间的关系。它们根据比较结果返回布尔值(真或假)。
下表突出显示了 PHP 支持的比较运算符。假设变量 $a 保存 10,变量 $b 保存 20,则:
| 运算符 | 描述 | 示例 |
|---|---|---|
| == | 检查两个操作数的值是否相等,如果相等则条件为真。 | ($a == $b) 为假 |
| != | 检查两个操作数的值是否不相等,如果不相等则条件为真。 | ($a != $b) 为真 |
| > | 检查左侧操作数的值是否大于右侧操作数的值,如果大于则条件为真。 | ($a > $b) 为假 |
| < | 检查左侧操作数的值是否小于右侧操作数的值,如果小于则条件为真。 | ($a < $b) 为真 |
| >= | 检查左侧操作数的值是否大于或等于右侧操作数的值,如果大于或等于则条件为真。 | ($a >= $b) 为假 |
| <= | 检查左侧操作数的值是否小于或等于右侧操作数的值,如果小于或等于则条件为真。 | ($a <= $b) 为真 |
PHP 中的逻辑运算符
您可以在 PHP 中使用逻辑运算符对多个表达式一起执行逻辑运算。逻辑运算符始终返回布尔值,即真或假。
逻辑运算符通常与条件语句和循环一起使用,以根据布尔条件返回决策。您还可以将它们组合起来,在处理复杂表达式时操作布尔值。
下表突出显示了 PHP 支持的逻辑运算符。
假设变量 $a 保存 10,变量 $b 保存 20,则:
| 运算符 | 描述 | 示例 |
|---|---|---|
| 并且 | 称为逻辑 AND 运算符。如果两个操作数均为真,则条件为真。 | (A 且 B) 为真 |
| 或 | 称为逻辑或运算符。如果两个操作数中的任何一个非零,则条件变为真。 | (A 或 B) 为真 |
| && | 称为逻辑与运算符。如果两个操作数都非零,则条件变为真。 | (A && B) 为真 |
| || | 称为逻辑或运算符。如果两个操作数中的任何一个非零,则条件变为真。 | (A || B) 为真 |
| ! | 称为逻辑非运算符。用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符将使其变为假。 | !(A && B) 为假 |
PHP 中的赋值运算符
您可以使用 PHP 中的赋值运算符来为给定变量分配或更新新值。赋值运算符的右侧保存值,赋值运算符的左侧是将为其分配值的变量。
两侧的数据类型应相同,否则您将收到错误。赋值运算符的结合性是从右到左。PHP 支持两种类型的赋值运算符:
简单赋值运算符 - 这是最常用的运算符。它用于为变量或常量赋值。
复合赋值运算符 - 赋值运算符 (=) 与其他运算符(如 +、*、/ 等)的组合。
下表突出显示了 PHP 支持的赋值运算符:
| 运算符 | 描述 | 示例 |
|---|---|---|
| = | 简单赋值运算符,将右侧操作数的值赋给左侧操作数 | C = A + B 将 A + B 的值赋给 C |
| += | 加法并赋值运算符,它将右侧操作数添加到左侧操作数,并将结果赋给左侧操作数 | C += A 等价于 C = C + A |
| -= | 减法并赋值运算符,它从左侧操作数中减去右侧操作数,并将结果赋给左侧操作数 | C -= A 等价于 C = C - A |
| *= | 乘法并赋值运算符,它将右侧操作数乘以左侧操作数,并将结果赋给左侧操作数 | C *= A 等价于 C = C * A |
| /= | 除法并赋值运算符,它将左侧操作数除以右侧操作数,并将结果赋给左侧操作数 | C /= A 等价于 C = C / A |
| %= | 取模并赋值运算符,它使用两个操作数进行取模运算,并将结果赋给左侧操作数 | C %= A 等价于 C = C % A |
PHP 中的字符串运算符
PHP 中有两个用于处理字符串数据类型的运算符:
“.”(点)运算符是 PHP 的连接运算符。它连接两个字符串操作数(右侧字符串的字符附加到左侧字符串),并返回一个新字符串。
PHP 还有“.”= 运算符,可以称为连接赋值运算符。它通过附加右侧操作数的字符来更新其左侧的字符串。
$third = $first . $second; $leftstring .= $rightstring;
PHP 中的数组运算符
PHP 定义了以下符号集,用作数组数据类型的运算符:
| 符号 | 示例 | 名称 | 结果 |
|---|---|---|---|
| + | $a + $b | 联合 | $a 和 $b 的联合。 |
| == | $a == $b | 相等 | 如果 $a 和 $b 具有相同的键/值对,则为 TRUE。 |
| === | $a === $b | 恒等 | 如果 $a 和 $b 以相同的顺序且具有相同的类型,则具有相同的键/值对,则为 TRUE。 |
| != | $a != $b | 不相等 | 如果 $a 不等于 $b,则为 TRUE。 |
| <> | $a <> $b | 不相等 | 如果 $a 不等于 $b,则为 TRUE。 |
| !== | $a !== $b | 非恒等 | 如果 $a 与 $b 不相同,则为 TRUE。 |
PHP 中的条件运算符
PHP 中还有一个运算符,称为条件运算符。它也称为三元运算符。它首先评估表达式的真或假值,然后根据评估结果执行两个给定语句中的一个。
| 运算符 | 描述 | 示例 |
|---|---|---|
| ? : | 条件表达式 | 如果条件为真?则值为 X:否则值为 Y |
PHP 中的运算符类别
我们上面讨论的所有运算符都可以分为以下类别:
一元前缀运算符,位于单个操作数之前。
二元运算符,它采用两个操作数并执行各种算术和逻辑运算。
条件运算符(三元运算符),它采用三个操作数并根据第一个表达式的评估结果评估第二个或第三个表达式。
赋值运算符,它将值赋给变量。
PHP 中的运算符优先级
运算符的优先级决定了表达式中运算符的执行顺序。例如,在“2+6/3”中,首先执行 6/3 的除法,然后执行“2+2”的加法,因为除法运算符“/”比加法运算符“+”具有更高的优先级。
要强制某个运算符在其他运算符之前调用,应使用括号。在此示例中,(2+6)/3 首先执行加法,然后执行除法。
某些运算符可能具有相同的优先级。在这种情况下,结合性顺序(左或右)决定了操作顺序。具有相同优先级但是非结合性的运算符不能彼此相邻使用。
下表按优先级递减的顺序列出了 PHP 运算符:
| 运算符 | 用途 |
|---|---|
| clone new | 克隆和新建 |
| ** | 指数运算 |
| ++ -- | 增量/减量 |
| ~(int) (float) (string) (array) (object) (bool) | 类型转换 |
| instanceof | 类型 |
| ! | 逻辑 |
| * / | 乘法/除法 |
| % | 取模 |
| + - . | 算术和字符串 |
| << >> | 按位移位 |
| < <= > >= | 比较 |
| == != === !== <> <=> | 比较 |
| & | 按位与/引用 |
| ^ | 按位异或 |
| | | 按位或 |
| && | 逻辑与 |
| || | 逻辑或 |
| ?? | 空合并 |
| ? : | 三元 |
| = += -= *= **= /= .= %= &= |= ^= <<= >>= ??= | 赋值运算符 |
| yield from | yield from |
| yield | yield |
| 并且 | 逻辑 |
| xor | 逻辑 |
| 或 | 逻辑 |