本文概述
- 算术运算符
- 赋值运算符
- 按位运算符
- 比较运算符
- 递增/递减运算符
- 逻辑运算符
- 字符串运算符
- 数组运算符
- 类型运算符
- 执行运算符
- 错误控制运算符
- 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 |
推荐阅读