什么是运算符? 简单的回答可使用表达式4 + 5等于9。这里4和5被称为操作数,而+被称为操作符(或叫运算符)。PHP语言支持以下类型的运算符。
算术运算符
比较运算符
逻辑(或关系)运算符
赋值运算符
条件(或三元)运算符
让我们来一个接一个地来看看上面的运算符。
1. 算术运算符
PHP语言支持以下算术运算符。假设变量A=10,变量B=20,则 -
运算符
描述
示例
+
加法运算
A + B则结果为30
-
减法运算
A - B则结果为-10
*
两个数相乘
A * B则结果为200
/
两个数相除
B / A则结果为2
%
模运算符,整数除法后的余数
B / A则结果为0
++
递增运算符,将整数值增加1
A++则结果为11
--
递减运算符,将整数值减1
A--则结果为9
算术运算符示例
$a = 42;
$b = 20;
$c = $a + $b;
echo "Addtion Operation Result: $c ";
$c = $a - $b;
echo "Substraction Operation Result: $c ";
$c = $a * $b;
echo "Multiplication Operation Result: $c ";
$c = $a / $b;
echo "Division Operation Result: $c ";
$c = $a % $b;
echo "Modulus Operation Result: $c ";
$c = $a++;
echo "Increment Operation Result: $c ";
$c = $a--;
echo "Decrement Operation Result: $c ";
?>
当执行上面示例代码,得到以下结果 -
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,则 -
运算符
描述
示例
==
检查两个操作数的值是否相等,如果相等则条件成立。
(A == B)条件不成立。
!=
检查两个操作数的值是否不相等,如果不相等则条件成立。
(A != B)则条件成立。
>
检查左操作数的值是否大于右操作数的值,如果是,则条件成立。
(A > B)则条件不成立。
<
检查左操作数的值是否小于右操作数的值,如果是,则条件成立。
(A < B)则条件成立。
>=
检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。
(A >= B)则条件不成立。
<=
检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。
(A <= B)则条件成立。
比较运算符示例
$a = 42;
$b = 20;
if( $a == $b ) {
echo "TEST1 : a is equal to b";
}else {
echo "TEST1 : a is not equal to b";
}
if( $a > $b ) {
echo "TEST2 : a is greater than b";
}else {
echo "TEST2 : a is not greater than b";
}
if( $a < $b ) {
echo "TEST3 : a is less than b";
}else {
echo "TEST3 : a is not less than b";
}
if( $a != $b ) {
echo "TEST4 : a is not equal to b";
}else {
echo "TEST4 : a is equal to b";
}
if( $a >= $b ) {
echo "TEST5 : a is either greater than or equal to b";
}else {
echo "TEST5 : a is neither greater than nor equal to b";
}
if( $a <= $b ) {
echo "TEST6 : a is either less than or equal to b";
}else {
echo "TEST6 : a is neither less than nor equal to b";
}
?>
执行上面示例代码,得到以下结果 -
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,则 -
运算符
描述
示例
and
逻辑与运算符。 如果两个操作数都是TRUE,则条件成立。
(A and B)则条件成立。
or
逻辑或运算符。 如果两个操作数中的任何一个不为零,则条件成立。
(A or B)则条件成立。
&&
逻辑与运算符。 如果两个操作数都不为零,则条件成立。
(A or B)则条件成立。
//
逻辑或运算符。 如果两个操作数中的任何一个都不为零,则条件成立。
(A // B)则条件成立。
!
逻辑非运算符。 用于反转其操作数的逻辑状态。 如果条件成立,那么逻辑NOT运算符将会成为假。
!(A && B)则条件不成立。
注意:上面的逻辑或运算符正确的写法为两个竖线:||,变量A与变量B的逻辑或运算应该写为(A || B),这里是由于文字排版所限,所以写成两个斜线://。
逻辑运算符示例
$a = 42;
$b = 0;
if( $a && $b ) {
echo "TEST1 : Both a and b are true
";
}else{
echo "TEST1 : Either a or b is false
";
}
if( $a and $b ) {
echo "TEST2 : Both a and b are true
";
}else{
echo "TEST2 : Either a or b is false
";
}
if( $a || $b ) {
echo "TEST3 : Either a or b is true
";
}else{
echo "TEST3 : Both a and b are false
";
}
if( $a or $b ) {
echo "TEST4 : Either a or b is true
";
}else {
echo "TEST4 : Both a and b are false
";
}
$a = 10;
$b = 20;
if( $a ) {
echo "TEST5 : a is true
";
}else {
echo "TEST5 : a is false
";
}
if( $b ) {
echo "TEST6 : b is true
";
}else {
echo "TEST6 : b is false
";
}
if( !$a ) {
echo "TEST7 : a is true
";
}else {
echo "TEST7 : a is false
";
}
if( !$b ) {
echo "TEST8 : b is true
";
}else {
echo "TEST8 : b is false
";
}
?>
执行上面示例代码,得到以下结果 -
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语言支持下列赋值运算符 -
运算符
描述
示例
=
简单赋值操作符,将右侧操作数的值赋给左侧操作数。
C = A + B将把A + B的值赋值给C
+=
相加与赋值运算符,它将右操作数相加到左操作数,并将结果赋给左操作数。
C += A相当于C = C + A
-=
相减与赋值运算符,从左边的操作数减去右边的操作数,并将结果赋给左边的操作数
C -= A相当于C = C - A
*=
乘法与赋值运算符,它将右操作数与左操作数相乘,并将结果赋给左操作数。
C *= A 相当于 C = C * A
/=
除法运算符和赋值运算符,左操作数除以右操作数,并将结果赋给左操作数。
%=
模和赋值运算符,它使用两个操作数取模并将结果赋给左操作数。
C %= A 相当于 C = C % A
赋值运算符示例
$a = 42;
$b = 20;
$c = $a + $b; /* Assignment operator */
echo "Addtion Operation Result: $c
";
$c += $a; /* c value was 42 + 20 = 62 */
echo "Add AND Assigment Operation Result: $c
";
$c -= $a; /* c value was 42 + 20 + 42 = 104 */
echo "Subtract AND Assignment Operation Result: $c
";
$c *= $a; /* c value was 104 - 42 = 62 */
echo "Multiply AND Assignment Operation Result: $c
";
$c /= $a; /* c value was 62 * 42 = 2604 */
echo "Division AND Assignment Operation Result: $c
";
$c %= $a; /* c value was 2604/42 = 62*/
echo "Modulus AND Assignment Operation Result: $c
";
?>
执行上面示例代码,得到以下结果 -
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
条件运算符
还有一个运算符称为条件运算符。它首先评估表达式的真值或假值,然后根据评估结果执行两个给定条件语句之一。 条件运算符的语法如下 -
condtion ? execute_true_expression: otherwise_expression
参考示例
$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
";
/* If condition is true then assign a to result otheriwse b */
$result = ($a < $b ) ? $a :$b;
echo "TEST2 : Value of result is $result
";
?>
执行上面示例代码,得到以下结果 -
TEST1 : Value of result is 20
TEST2 : Value of result is 10
运算符分类
我们上面讨论过的所有运算符可以分为以下几类 -
一元前缀运算符,位于单个操作数之前。
二进制运算符,它需要两个操作数并执行各种算术和逻辑操作。
条件运算符(一个三元运算符),取决于对第一个表达式的求值,它接受三个操作数并计算第二个或第三个表达式。
赋值运算符,赋值给一个变量。
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。