PHP运算符解释和用法

本文概述

  • 算术运算符
  • 赋值运算符
  • 按位运算符
  • 比较运算符
  • 递增/递减运算符
  • 逻辑运算符
  • 字符串运算符
  • 数组运算符
  • 类型运算符
  • 执行运算符
  • 错误控制运算符
  • PHP运算符优先级
PHP Operator是一个符号, 即用于对操作数执行操作的符号。简而言之, 运算符用于对变量或值执行运算。例如:
$num=10+20; //+ is the operator and 10, 20 are operands

在上面的示例中, +是二进制+运算符, 10和20是操作数, $ num是变量。
PHP运算符可以按以下形式分类:
  • 算术运算符
  • 赋值运算符
  • 按位运算符
  • 比较运算符
  • 递增/递减运算符
  • 逻辑运算符
  • 字符串运算符
  • 数组运算符
  • 类型运算符
  • 执行运算符
  • 错误控制运算符
我们还可以代表操作数对运算符进行分类。它们可以分为3种形式:
  • 一元运算符:适用于++, -等单个操作数。
  • 二进制运算符:对两个操作数起作用, 例如二进制+, -, *, /等。
  • 三元运算符:对三个运算符(例如” ?:” )进行运算。
算术运算符PHP算术运算符用于执行常用的算术运算, 例如对数值进行加法, 减法等。
Operator Name Example Explanation
+ Addition $ a + $ b 操作数总和
Subtraction $ a-$ b 操作数的差异
* Multiplication $ a * $ b 操作数的乘积
/ Division $ a / $ b 操作数的商
% Modulus $ a%$ b 余数
** Exponentiation $ a ** $ b $ a升到$ b
指数(**)运算符已在PHP 5.6中引入。
赋值运算符赋值运算符用于将值赋给不同的变量。基本赋值运算符为” =” 。
Operator Name Example Explanation
= Assign $ a = $ b 右操作数的值分配给左操作数。
+= 添加然后分配 $ a + = $ b 与$ a = $ a + $ b相同
-= 减去然后分配 $ a-= $ b 减法与$ a = $ a-$ b相同
*= 然后相乘然后赋值 $ a * = $ b 与$ a = $ a * $ b相同的乘法
/= 除以然后赋值(商) $ a / = $ b 查找与$ a = $ a / $ b相同的商
%= 划分然后分配(剩余) $ a%= $ b 查找与$ a = $ a%$ b相同的余数
按位运算符按位运算符用于对操作数执行位级运算。这些运算符允许对整数内的特定位进行评估和处理。
Operator Name Example Explanation
& And $ a和$ b $ a和$ b中均为1的位设置为1, 否则为0。
| 或(包含或) $ a | $ b $ a或$ b中为1的位设置为1
^ 异或(异或) $ a ^ $ b $ a或$ b中为1的位设置为0。
~ Not ~$a 1的位设置为0, 而0的位设置为1
< < 左移 $ a < < $ b 左移操作数$ a $ b的位
> > 右移 $ a > > $ b 将$ a操作数的位右移$ b个位数
比较运算符比较运算符允许比较两个值, 例如数字或字符串。下面给出了比较运算符的列表:
Operator Name Example Explanation
== Equal $ a == $ b 如果$ a等于$ b, 则返回TRUE
=== Identical $ a === $ b 如果$ a等于$ b并且它们具有相同的数据类型, 则返回TRUE
!== Not identical $ a!== $ b 如果$ a不等于$ b并且它们不是同一数据类型, 则返回TRUE
!= 不相等 $ a!= $ b 如果$ a不等于$ b, 则返回TRUE
< > Not equal $ a < > $ b 如果$ a不等于$ b, 则返回TRUE
< Less than $ a < $ b 如果$ a小于$ b, 则返回TRUE
> Greater than $ a> $ b 如果$ a大于$ b, 则返回TRUE
< = 小于或等于 $ a < = $ b 如果$ a小于或等于$ b, 则返回TRUE
> = 大于或等于 $ a> = $ b 如果$ a大于或等于$ b, 则返回TRUE
< => Spaceship $ a < => $ b 如果$ a小于$ b, 则返回-1;如果$ a等于$ b, 则返回0;如果$ a大于$ b, 则返回1。
递增/递减运算符递增和递减运算符用于增加和减少变量的值。
Operator Name Example Explanation
++ Increment ++ $ a 将$ a的值加1, 然后返回$ a
$a++ 返回$ a, 然后将$ a的值加1
decrement – $a 将$ a的值减一, 然后返回$ a
$a– 返回$ a, 然后将$ a的值减一
逻辑运算符【PHP运算符解释和用法】逻辑运算符用于对操作数执行位级运算。这些运算符允许对整数内的特定位进行评估和处理。
Operator Name Example Explanation
and And $ a和$ b 如果$ a和$ b都为true, 则返回TRUE
Or Or $ a或$ b 如果$ a或$ b为真, 则返回TRUE
xor Xor $ a xor $ b 如果$或$ b为真, 但不是全部为真, 则返回TRUE
! Not ! $a 如果$ a不为真, 则返回TRUE
& & And $ a & & $ b 如果$ a和$ b为真, 则返回TRUE
|| Or $ a || $ b 如果$ a或$ b为真, 则返回TRUE
字符串运算符字符串运算符用于对字符串执行操作。 PHP中有两个字符串运算符, 如下所示:
Operator Name Example Explanation
. Concatenation $ a。 $ b 连接$ a和$ b
.= 串联和分配 $ a。= $ b 首先连接$ a和$ b, 然后将连接的字符串分配给$ a, 例如$ a = $ a $ b
数组运算符如果是数组, 则使用数组运算符。基本上, 这些运算符用于比较数组的值。
Operator Name Example Explanation
+ Union $ a + $和 $ a和$ b的并集
== Equality $ a == $ b 如果$ a和$ b具有相同的键/值对, 则返回TRUE
!= Inequality $ a!= $ b 如果$ a不等于$ b, 则返回TRUE
=== Identity $ a === $ b 如果$ a和$ b具有相同类型的相同键/值对且顺序相同, 则返回TRUE
!== Non-Identity $ a!== $ b 如果$ a与$ b不同, 则返回TRUE
< > Inequality $ a < > $ b 如果$ a不等于$ b, 则返回TRUE
类型运算符类型运算符instanceof用于确定对象, 其父对象及其派生类是否相同。基本上, 此运算符确定对象属于哪个特定类。它用于面向对象的编程。
< ?php //class declaration class Developer {} class Programmer {} //creating an object of type Developer $charu = new Developer(); //testing the type of object if( $charu instanceof Developer) { echo "Charu is a developer."; } else { echo "Charu is a programmer."; } echo "< /br> "; var_dump($charu instanceof Developer); //It will return true. var_dump($charu instanceof Programmer); //It will return false. ?>

输出
Charu is a developer. bool(true) bool(false)

执行运算符PHP具有执行运算符反引号(“ )。 PHP将反引号的内容作为shell命令执行。执行运算符和shell_exec()给出相同的结果。
Operator Name Example Explanation
backticks 回声`目录`; 执行shell命令并返回结果。在这里, 它将显示当前文件夹中的可用目录。
注意:请注意反引号(“ )不是单引号。错误控制运算符PHP具有一个错误控制运算符, 即(@)符号。只要将它与表达式一起使用, 该表达式可能生成的任何错误消息都将被忽略。
Operator Name Example Explanation
@ at @file(‘ non_existent_file’ ) 故意文件错误
PHP运算符优先级让我们看看具有关联性的PHP运算符的优先级。
Operators Additional Information Associativity
克隆新 克隆和新 non-associative
[ array() left
** arithmetic right
++-?(整数)(浮点数)(字符串)(数组)(对象)(布尔)@ 增量/减量和类型 right
instanceof types non-associative
! 逻辑(否定) right
* / % arithmetic left
+ – . 算术和字符串连接 left
< < > > bitwise (shift) left
< < = > > = comparison non-associative
== != === !== < > comparison non-associative
& 按位与 left
^ 按位异或 left
| bitwise OR left
& & logical AND left
|| 逻辑或 left
?: ternary left
= += -= *= **= /= .= %= & = |= ^= < < = > > = => assignment right
and logical left
xor logical left
or logical left
, 许多用途(逗号) left

    推荐阅读