目录
- PHP快速上手(五)
- PHP 运算符
- 1. 算术运算符
- 2. 赋值运算符
- 3. 比较运算符
- 4. 逻辑运算符
- 5. 位运算符
- 6. 递增/递减运算符
- 7. 字符串运算符
- 8. 数组运算符
- 9. 三元运算符(条件运算符)
- 10. 空合并运算符
- 条件语句
- 1. if 语句
- 2. else 语句
- 3. elseif 语句
- 4. switch 语句
PHP快速上手(五)
PHP 运算符
PHP 提供了丰富的运算符,用于在编写脚本时对变量和表达式进行操作。这些运算符可以被分类为算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、递增/递减运算符、字符串运算符、数组运算符、三元运算符和其他运算符等。
1. 算术运算符
+(加法):$a + $b 返回两个数字的和。
-(减法):$a - $b 返回两个数字的差。
*(乘法):$a * $b 返回两个数字的积。
/(除法):$a / $b 返回两个数字的商。
%(取模):$a % $b 返回 $a 除以 $b 的余数。
**(幂运算):$a ** $b 返回 $a 的 $b 次方。
2. 赋值运算符
=(赋值):$a = $b 将 $b 的值赋给 $a。
复合赋值运算符:$a += $b、$a -= $b、$a *= $b、$a /= $b、$a %= $b、$a **= $b,表示将 $b 和 $a 运算后的结果赋值给 $a。
3. 比较运算符
==(松散相等):$a == $b 比较 $a 和 $b 是否相等,不要求类型相同。
===(严格相等):$a === $b 比较 $a 和 $b 是否相等,且类型必须相同。
!= 或 <>(松散不相等):$a != $b 或 $a <> $b 比较 $a 和 $b 是否不相等,不要求类型相同。
!==(严格不相等):$a !== $b 比较 $a 和 $b 是否不相等,且类型必须不同。
<、>(小于、大于):$a < $b 和 $a > $b 比较 $a 和 $b 的大小。
<=、>=(小于等于、大于等于):$a <= $b 和 $a >= $b 比较 $a 和 $b 是否小于等于或大于等于。
4. 逻辑运算符
&& 或 and:逻辑与。
|| 或 or:逻辑或。
! 或 not:逻辑非。
xor:逻辑异或。
5. 位运算符
&(按位与):$a & $b。
|(按位或):$a | $b。
^(按位异或):$a ^ $b。
~(按位非):~$a。
<<(左移位):$a << $b。
>>(右移位):$a >> $b。
6. 递增/递减运算符
++(递增):$a++ 或 ++$a 增加 $a 的值。
--(递减):$a-- 或 --$a 减少 $a 的值。
7. 字符串运算符
.(连接符):$a . $b 连接两个字符串。
.= (连接并赋值):$a .= $b 将 $b 连接到 $a 的后面,并将结果赋值给 $a。
8. 数组运算符
+(数组合并):$a + $b 合并两个数组,保留 $a 中的键值。
==、!=(数组比较):比较两个数组的键和值是否相等或不相等。
===、!==(数组严格比较):比较两个数组的键和值是否完全相等,包括顺序。
9. 三元运算符(条件运算符)
? :(三元运算符):$result = $a ? $b : $c,当 $a 为 true 时,返回 $b,否则返回 $c。
10. 空合并运算符
??(空合并运算符):$result = $a ?? $b,如果 $a 是空(null 或未定义),返回 $b,否则返回 $a。
条件语句
在 PHP 中,条件语句用于根据不同的条件来执行不同的代码块。这些语句可以让你的代码在不同情况下表现出不同的行为。常见的条件语句包括 if、else、elseif、switch 等。
1. if 语句
if 语句用于根据给定的条件执行代码块。如果条件为 true,代码块将被执行,否则将被跳过。
语法:
if (condition) {// 当条件为 true 时执行的代码块
}
示例:
$age = 20;
if ($age >= 18) {echo "You are an adult.";
}
2. else 语句
else 语句用于在 if 语句的条件为 false 时执行另一块代码。
if (condition) {// 当条件为 true 时执行的代码块
} else {// 当条件为 false 时执行的代码块
}
示例:
$age = 16;
if ($age >= 18) {echo "You are an adult.";
} else {echo "You are a minor.";
}
3. elseif 语句
elseif 语句用于在多个条件之间进行选择。如果前面的 if 条件为 false,elseif 条件将被检查。
语法:
if (condition1) {// 当 condition1 为 true 时执行的代码块
} elseif (condition2) {// 当 condition1 为 false 而 condition2 为 true 时执行的代码块
} else {// 当所有条件都为 false 时执行的代码块
}
示例:
$score = 85;
if ($score >= 90) {echo "Grade: A";
} elseif ($score >= 80) {echo "Grade: B";
} elseif ($score >= 70) {echo "Grade: C";
} else {echo "Grade: D";
}
4. switch 语句
switch 语句用于根据一个表达式的值选择不同的代码块执行。switch 语句可以用于替代多个 if 和 elseif。
语法:
switch (expression) {case value1:// 当 expression 等于 value1 时执行的代码块break;case value2:// 当 expression 等于 value2 时执行的代码块break;default:// 当 expression 不等于任何 case 值时执行的代码块break;
}
示例:
$day = "Monday";
switch ($day) {case "Monday":echo "Today is Monday.";break;case "Tuesday":echo "Today is Tuesday.";break;default:echo "Today is not Monday or Tuesday.";break;
}
- 注意事项
if、else 和 elseif 语句是嵌套的,这意味着你可以在一个条件语句内部使用另一个条件语句。
switch 语句中,每个 case 块都应该以 break 语句结束,否则代码会继续执行下一个 case 块。这种行为被称为“贯穿”(fallthrough)。
当你有许多可能的条件时,使用 switch 语句可能比 if 和 elseif 语句更清晰。