什么是运算符?可以使用表达式 4 + 5等于9 给出简单答案。这里4和5称为操作数,而+称为运算符。 PHP语言支持以下类型的运算符。

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 赋值运算符
  • 三元操作符

让无涯教程一一看一下所有运算符。

算术运算符

PHP语言支持以下算术运算符,假设变量A=10,变量B=20,则-

Operator
Remark Example
+ 相加 A + B=30
- 相减 A-B=-10
* 相乘 A * B=200
/ 相除 B/A=2
整除后取余数 B%A=0
++ 值+1 A ++=11
- 值-1 A--=9

请尝试以下示例以了解所有算术运算符。将以下PHP程序复制并粘贴到test.php文件中,并将其保留在PHP Server的文档根目录中,并使用任何浏览器进行浏览。

<html>
   
   <head>
      <title>Arithmetical Operators</title>
   </head>
   
   <body>
   
      <?php
         $a = 42;
         $b = 20;
         
         $c = $a + $b;
         echo "Addtion Operation Result: $c <br/>";
         
         $c = $a - $b;
         echo "Substraction Operation Result: $c <br/>";
         
         $c = $a * $b;
         echo "Multiplication Operation Result: $c <br/>";
         
         $c = $a / $b;
         echo "Division Operation Result: $c <br/>";
         
         $c = $a % $b;
         echo "Modulus Operation Result: $c <br/>";
         
         $c = $a++; 
         echo "Increment Operation Result: $c <br/>";
         
         $c = $a--; 
         echo "Decrement Operation Result: $c <br/>";
      ?>
   
   </body>
</html>

这将产生以下结果-

Addtion Operation Result: 62 
Substraction Operation Result: 22 
Multiplication Operation Result: 840 
Division Operation Result: 2.1 
Modulus Operation Result: 2 
Increment Operation Result: 42 
Decrement Operation Result: 43 

比较运算符

PHP语言支持以下比较运算符,假设变量A=10,变量B=20,则-

Operator Description Example
== 相等 (A == B) is not true.
!= 不相等 (A != B) is true.
> 大于 (A > B) is not true.
< 小于 (A < B) is true.
>= 大于或等于 (A >= B) is not true.
<= 小于或等于 (A <= B) is true.

请尝试以下示例以了解所有比较运算符。将以下PHP程序复制并粘贴到test.php文件中,并将其保留在PHP Server的文档根目录中,并使用任何浏览器进行浏览。

<html>
   
   <head>
      <title>Comparison Operators</title>
   </head>
   
   <body>
      
      <?php
         $a = 42;
         $b = 20;
      
         if( $a == $b ) {
            echo "TEST1 : a is equal to b<br/>";
         }else {
            echo "TEST1 : a is not equal to b<br/>";
         }
      
         if( $a > $b ) {
            echo "TEST2 : a is greater than  b<br/>";
         }else {
            echo "TEST2 : a is not greater than b<br/>";
         }
      
         if( $a < $b ) {
            echo "TEST3 : a is less than  b<br/>";
         }else {
            echo "TEST3 : a is not less than b<br/>";
         }
      
         if( $a != $b ) {
            echo "TEST4 : a is not equal to b<br/>";
         }else {
            echo "TEST4 : a is equal to b<br/>";
         }
      
         if( $a >= $b ) {
            echo "TEST5 : a is either greater than or equal to b<br/>";
         }else {
            echo "TEST5 : a is neither greater than nor equal to b<br/>";
         }
      
         if( $a <= $b ) {
            echo "TEST6 : a is either less than or equal to b<br/>";
         }else {
            echo "TEST6 : a is neither less than nor equal to b<br/>";
         }
      ?>
      
   </body>
</html>

这将产生以下结果-

TEST1 : a is not equal to b
TEST2 : a is greater than b
TEST3 : a is not less than b
TEST4 : a is not equal to b
TEST5 : a is either greater than or equal to b
TEST6 : a is neither less than nor equal to b

逻辑运算符

PHP语言支持以下逻辑运算符,假设变量A=10,变量B=20,则-

Operator Description Example
and 如果两个操作数都为true,则值为true。 (A and B) is true.
or 如果两个操作数中的任何一个都不为零,则值为true。 (A or B) is true.
&& 如果两个操作数都不为零,则值为true。 (A && B) is true.
|| 如果两个操作数中的任何一个都不为零,则值为true。 (A || B) is true.
! 如果条件为true,则逻辑非运算符将为false。 !(A && B) is false.

请尝试以下示例以了解所有逻辑运算符。将以下PHP程序复制并粘贴到test.php文件中,并将其保留在PHP Server的文档根目录中,并使用任何浏览器进行浏览。

<html>
   
   <head>
      <title>Logical Operators</title>
   </head>
   
   <body>
      
      <?php
         $a = 42;
         $b = 0;
         
         if( $a && $b ) {
            echo "TEST1 : Both a and b are true<br/>";
         }else{
            echo "TEST1 : Either a or b is false<br/>";
         }
         
         if( $a and $b ) {
            echo "TEST2 : Both a and b are true<br/>";
         }else{
            echo "TEST2 : Either a or b is false<br/>";
         }
         
         if( $a || $b ) {
            echo "TEST3 : Either a or b is true<br/>";
         }else{
            echo "TEST3 : Both a and b are false<br/>";
         }
         
         if( $a or $b ) {
            echo "TEST4 : Either a or b is true<br/>";
         }else {
            echo "TEST4 : Both a and b are false<br/>";
         }
         
         $a = 10;
         $b = 20;
         
         if( $a ) {
            echo "TEST5 : a is true <br/>";
         }else {
            echo "TEST5 : a  is false<br/>";
         }
         
         if( $b ) {
            echo "TEST6 : b is true <br/>";
         }else {
            echo "TEST6 : b  is false<br/>";
         }
         
         if( !$a ) {
            echo "TEST7 : a is true <br/>";
         }else {
            echo "TEST7 : a  is false<br/>";
         }
         
         if( !$b ) {
            echo "TEST8 : b is true <br/>";
         }else {
            echo "TEST8 : b  is false<br/>";
         }
      ?>
      
   </body>
</html>

这将产生以下结果-

TEST1 : Either a or b is false
TEST2 : Either a or b is false
TEST3 : Either a or b is true
TEST4 : Either a or b is true
TEST5 : a is true 
TEST6 : b is true 
TEST7 : a is false
TEST8 : b is false

赋值运算符

PHP语言支持以下赋值运算符-

Operator
Remark Example
= 简单赋值运算符 C=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程序复制并粘贴到test.php文件中,并将其保留在PHP Server的文档根目录中,并使用任何浏览器进行浏览。

<html>
   
   <head>
      <title>Assignment Operators</title>
   </head>
   
   <body>
      
      <?php
         $a = 42;
         $b = 20;
         
         $c = $a + $b;  
         echo "Addtion Operation Result: $c <br/>";
         
         $c += $a;  
         echo "Add AND Assigment Operation Result: $c <br/>";
         
         $c -= $a;
         echo "Subtract AND Assignment Operation Result: $c <br/>";
         
         $c *= $a; 
         echo "Multiply AND Assignment Operation Result: $c <br/>";
         
         $c /= $a; 
         echo "Division AND Assignment Operation Result: $c <br/>";
         
         $c %= $a;
         echo "Modulus AND Assignment Operation Result: $c <br/>";
      ?>
      
   </body>
</html>

这将产生以下结果-

Addtion Operation Result: 62 
Add AND Assigment Operation Result: 104 
Subtract AND Assignment Operation Result: 62 
Multiply AND Assignment Operation Result: 2604 
Division AND Assignment Operation Result: 62 
Modulus AND Assignment Operation Result: 20 

条件运算符

还有一个运算符称为条件运算符。

Operator
Remark Example
? : 条件表达式 如果条件为true?然后取值X:否则取值Y

请尝试以下示例以了解条件运算符。将以下PHP程序复制并粘贴到test.php文件中,并将其保留在PHP Server的文档根目录中,并使用浏览器进行浏览。

<html>
   
   <head>
      <title>Arithmetical Operators</title>
   </head>
   
   <body>
   
      <?php
         $a = 10;
         $b = 20;
         
         /* If condition is true then assign a to result otheriwse b */
         $result = ($a > $b ) ? $a :$b;
         
         echo "TEST1 : Value of result is $result<br/>";
         
         /* If condition is true then assign a to result otheriwse b */
         $result = ($a < $b ) ? $a :$b;
         
         echo "TEST2 : Value of result is $result<br/>";
      ?>
   
   </body>
</html>

这将产生以下结果-

TEST1 : Value of result is 20
TEST2 : Value of result is 10

运算符优先级

在此,优先级最高的运算符出现在表格的顶部,而优先级最低的运算符出现在表格的底部。在表达式中,优先级较高的运算符将首先被判断。

Category Operator Associativity
Unary ! ++ -- Right to left
Multiplicative * /% Left to right
Additive + - Left to right
Relational < <= > >= Left to right
Equality == != Left to right
Logical AND && Left to right
Logical OR || Left to right
Conditional ?: Right to left
Assignment = += -= *= /= %= Right to left

参考链接

https://www.learnfk.com/php/php-operator-types.html