PHP 运算符


2021年8月23日, Learn eTutorial
1985

在本 PHP 教程中,您将学习 PHP 中的所有运算符。我们将详细讨论运算符的类型。

PHP 运算符是什么意思?

PHP 运算符是用于对变量或值执行操作并评估结果的符号。这些变量值称为操作数。包含任何运算符和操作数的语句称为表达式。

运算符可以分为 3 类

  1. 一元运算符:这些是在单个操作数上工作的运算符。
  2. 二元运算符:这些是在两个操作数上工作的运算符。
  3. 三元运算符:这些是在三个操作数上工作的运算符。

PHP 中使用的不同类型运算符

  1. 算术运算符
  2. 比较运算符
  3. 递增和递减运算符
  4. 赋值运算符
  5. 逻辑运算符
  6. 字符串运算符
  7. 数组运算符
  8. 条件或三元运算符
  9. 类型运算符
  10. 执行运算符
  11. 错误控制运算符
  12. 飞船运算符
  13. 位运算符

PHP 算术运算符

算术运算符用于执行基本的算术运算,例如加法、减法、乘法等。

运算符

姓名

描述

+

加法

它用于查找操作数的

-

减法

它用于查找操作数的

*

乘法

它用于查找操作数的

/

除法

它用于查找操作数的

%

取模

它用于查找操作数的余数

**

幂运算

它用于查找第一个操作数的第二次方


$a = 10;
$b = 4;
$sum = $a + $b; //Addition operator
$dif = $a - $b; //Subtraction operator
$pro = $a * $b; //Multiplication operator
$div = $a / $b; //Division operator
$rem = $a % $b; //Modulus operator
$pow = $a ** $b; //Exponentiation operator
echo $sum . "\n";
echo $dif . "\n";
echo $pro . "\n";
echo $div . "\n";
echo $rem . "\n";
echo $pow . "\n";

输出


14
6
40
2.5
2
10000

PHP 比较运算符

比较运算符用于比较两个值(操作数),它们可以是字符串或数字。

运算符 姓名 描述

==

等于

如果两个操作数的值相等,则返回 true

===

全等

如果两个操作数的和它们的数据类型相等,则返回 true

!=

不等于

如果两个操作数的值不相等,则返回 true

<> 

不等于

如果两个操作数的值不相等,则返回 true

!==

不全等

如果两个操作数的和它们的数据类型不相等,则返回 true

大于

如果左侧操作数大于右侧操作数,则返回 true

小于

如果左侧操作数小于右侧操作数,则返回 true

>=

大于等于

如果左侧操作数大于等于右侧操作数,则返回 true

<=

小于等于

如果左侧操作数小于等于右侧操作数,则返回 true


$a = 10;
$b = 4;
var_dump($a == $b) . "\n";      // Equal operator
var_dump($a === $b) . "\n";     // Identical operator
var_dump($a != $b) . "\n";      // Not Equal operator
var_dump($a <> $b) . "\n";      // Not Equal operator
var_dump($a !== $b) . "\n";     // Not Identical operator
var_dump($a > $b) . "\n";       // Greater than operator
var_dump($a < $b) . "\n";       // Less than operator
var_dump($a >= $b) . "\n";      // Greater than equal to operator
var_dump($a <= $b) . "\n";      // Less than equal to operator


输出


bool(false)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)

PHP 递增和递减运算符

递增运算符用于将操作数的值递增 1

递减运算符用于将操作数的值递减 1

运算符 姓名 描述
++$a 前置递增 它会先递增操作数的值,然后返回该值
$a++ 后置递增 它会先返回该值,然后递增操作数的值
--$a 前置递减 它会先递减操作数的值,然后返回该值
$a++ 后置递减 它会先返回该值,然后递减操作数的值

$a = 10;
$b = 10;
$c = 10;
$d = 10;
echo ++$a . "\n";   // Pre-increment operator
echo $b++ . "\n";   // Post-increment operator
echo --$c . "\n";   // Pre-decrement operator
echo $d-- . "\n";   // Post-decrement operator

输出


11
10
9
10

PHP 赋值运算符

赋值运算符用于将右侧操作数的值赋给左侧操作数。

运算符 姓名 描述
= 赋值 它用于将右侧操作数的值赋给左侧操作数
+= 加然后赋值 它首先将两个操作数的值相加,然后将结果赋给左侧操作数
-= 减然后赋值 它首先将两个操作数的值相减,然后将结果赋给左侧操作数
*= 乘然后赋值 它首先将两个操作数的值相乘,然后将结果赋给左侧操作数
/= 除然后赋值(商) 它首先将两个操作数的值相除,然后将商赋给左侧操作数
%= 除然后赋值(余数) 它首先将两个操作数的值相除,然后将余数赋给左侧操作数

$a = 10;
$b = 10;
$c = 30;
$d = 8;
$e = 9;
$f = 4;

$x = $a;        // assign operator
echo $x . "\n";
$b += $a;       // Add then assign operator
echo $b . "\n";
$b -= $a;       // Subtract then assign operator
echo $b . "\n";
$d *= $f;       // Multiply then assign operator
echo $d . "\n";
$b /= $a;       // Divide then assign(quotient) operator
echo $b . "\n";
$c %= $e;       // Divide then assign(reminder) operator
echo $c . "\n";


输出


10
20
10
32
1
3

PHP 逻辑运算符

在 PHP 中,用于评估两个表达式或语句的运算符是逻辑运算符。三个基本的逻辑运算符是 and、or 和 not。这些运算符在布尔上下文中控制程序流,类似于比较运算符。布尔值要么是 True(1) 要么是 False(0)。

运算符 姓名 描述
and 如果两边值都为真,则返回 true
or 如果任一边值都为真,则返回 true
异或 异或 如果任一边值都为真但不同时为真,则返回 true
&& 如果两边值都为真,则返回 true
|| 如果任一边值都为真,则返回 true
! 它是一元运算符,如果操作数的值为假,则返回 true;如果操作数的值为真,则返回 false

$a = 10;
$b = 20;
var_dump($a == 10 and $b == 20) . "\n";         //And  operator
var_dump($a == 10 or $b == 15) . "\n";          //Or  operator
var_dump($a == 20 xor $b == 10) . "\n";         //Xor  operator
var_dump($a == 18 && $b == 20) . "\n";          //And  operator
var_dump($a == 10 || $b == 20) . "\n";          //Or  operator
var_dump(!($a == 15)) . "\n";                   //Not  operator


输出


bool(true)
bool(true)
bool(false)
bool(false)
bool(true)
bool(true)

PHP 字符串运算符

PHP 中的字符串运算符用于对字符串执行操作。

运算符 姓名 描述
. 连接 它用于连接两个字符串
.= 连接并赋值 它用于连接两边并将值赋给左侧操作数

$a = "learnE";
$b = "tutorials.com";
echo $a . $b;               // Concatenation operator
echo "\n";
$a .= $b;                   // Concatenate and assign operator
echo $a;


输出


learnEtutorials.com
learnEtutorials.com

PHP 数组运算符

PHP 数组运算符用于对数组执行操作。它们主要用于数组的比较。

运算符 姓名 描述
+ 联合体 它用于获取两个数组的并集
== 相等 如果两个数组相等,则返回 true
=== 全等 如果数组的值及其数据类型都相等,则返回 true
!= 不相等 如果两个数组不相等,则返回 true
<>  不相等 如果两个数组不相等,则返回 true
!== 不全等 如果数组的值及其数据类型都不相等,则返回 true

$a = array("a" => "PHP", "b" => "Python");
$b = array("c" => "C++", "d" => "Java");
print_r($a + $b);       // Union operator
var_dump($a == $b);     // Equality operator
var_dump($a === $b);     // Identical operator
var_dump($a != $b);     // Inequality operator
var_dump($a <> $b);     // Inequality operator
var_dump($a !== $b);     // Non-identical operator

输出


Array
(
    [a] => PHP
    [b] => Python
    [c] => C++
    [d] => Java
)
bool(false)
bool(false)
bool(true)
bool(true)
bool(true)

PHP 条件或三元运算符

PHP 条件赋值运算符用于根据条件设置值。

运算符 姓名 描述
?: 三元 它类似于 if 语句。如果第一个表达式为真,它返回第二个表达式的值,否则返回第三个表达式的值
?? 空值合并 它检查两个表达式,如果第一个表达式为 null 或不存在,则返回第二个表达式,如果存在,则返回第一个表达式

$age = 23;
echo $age > 18 ? "can vote" : "cant vote";   // Ternary operator
echo "\n";
echo  $age ?? "no age given";       // Null coalescing operator
echo "\n";
echo $gender ?? "gender not given";       // Null coalescing operator

输出


can vote
23
gender not given

PHP 类型运算符

PHP 中的类型运算符“instanceof”用于确定对象、其父类及其派生类是否属于同一类型。通常,此运算符识别对象所属的类。


class Abc
{
}
class Xyz
{
}
$value = new Abc();

var_dump($value instanceof Abc);
var_dump($value instanceof Xyz);

输出


bool(true) 
bool(false)

PHP 执行运算符

在 PHP 中,执行运算符用于执行 shell 命令。

运算符 姓名 描述
`` 反引号 它用于在 PHP 中执行 shell 命令

$path = `dir`;
echo $path;
// to find the path of the file

输出


Volume in drive C is Acer
 Volume Serial Number is 16BF-2C7E

 Directory of C:\XAMPP FOLDER\htdocs\operators

03-11-2021  01:33 AM    
。 2021-03-11 01:33 AM .. 2021-03-11 02:39 AM 38 comp.php 1 文件 38 字节 2 目录 371,202,158,592 字节可用

PHP 错误控制运算符

错误控制运算符用于忽略表达式形成的错误消息。我们使用符号 @ (at) 作为错误控制运算符。

使用 @ 之前示例


$val = 76 / 0;
echo "Welcome to learnetutorials.com";

输出


Warning: Division by zero in C:\XAMPP FOLDER\htdocs\MYPC\operators\comp.php on line 3
Welcome to learnetutorials.com

使用 @ 示例


@$val = 76 / 0;               // while trying to divide a number by 0 it gives error. By using the @ operator we can ignore the error message
echo "Welcome to learnetutorials.com";


输出


Welcome to learnetutorials.com

PHP 飞船运算符

飞船运算符更像是比较运算符。它将比较操作数,如果第一个操作数的值大于第二个操作数,则返回 1;如果两个操作数相同,则返回 0;否则返回 -1。

使用 @ 示例


echo 10 <=> 5;
echo "\n";
echo 5 <=> 10;
echo "\n";
echo 5 <=> 5;

输出


1
-1
0

PHP 位运算符

位运算符用于对操作数执行位级操作。这些运算符允许评估和操作整数内的特定位。

运算符 姓名 描述
& 如果两个操作数中都有位 1,则返回 1,否则返回 0
| 或(包含或) 如果任一操作数中有位 1,则返回 1,否则返回 0
^ 异或(排他或) 如果两个操作数中都是 1 或 0,则为 0,否则为 1
~ 如果是 1 则返回 0,否则返回 1
<<  左移 它将值从右向左移动
>>  右移 它将值从左向右移动

使用 @ 示例


$a = 7;
$b = 5;

echo $a & $b;           // bitwise and operator
echo "\n";
echo $a | $b;           // bitwise or operator
echo "\n";
echo $a ^ $b;           // bitwise xor operator
echo "\n";
echo ~$b;               // bitwise not operator
echo "\n";
echo $a << $b;          // bitwise shift left operator
echo "\n";
echo $a >> $b;          // bitwise shift right operator
echo "\n";

输出


5
7
2
-6
224
0