本文概述
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的值减一 |
逻辑运算符
逻辑运算符用于对操作数执行位级运算。这些运算符允许对整数内的特定位进行评估和处理。
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 |
评论前必须登录!
注册