什么是运算符?可以使用表达式 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 |