服务端 - PHP - 基础知识之运算符和流程控制
一、运算符
1. 算术运算符
| 序号 |
运算符 |
示例 |
描述 |
| 1 |
+ |
$a+$b |
$a与$b 的和 |
| 2 |
- |
$a-$b |
$a与$b 的差 |
| 3 |
* |
$a*$b |
$a与$b 的积 |
| 4 |
/ |
$a/$b |
$a与$b 的商 |
| 5 |
% |
$a%$b |
$a与$b 的余(模) |
| 6 |
++ |
$a++/++$a |
先用再加/先加再用 |
| 7 |
-- |
$a--/--$a |
先用再减/先减再用 |
| 8 |
** |
2**4 |
幂运算:2 的 4 次方 |
$a++=>$a = $a + 1, $a--=>$a = $a - 1**: 幂运算需要 php5.6+版本
2. 字符串运算符
| 运算符 |
示例 |
描述 |
. |
$str1 . $str2 |
连接运算,返回连接之后的字符串 |
3. 赋值运算符
| 序号 |
运算符 |
示例 |
描述 |
| 1 |
= |
$a = 10 |
将表达式的值赋给变量 |
| 2 |
+= |
$a += 10 |
$a = $a + 10; |
| 3 |
-= |
$a -= 10 |
$a = $a - 10; |
| 4 |
*= |
$a *= 10 |
$a = $a * 10; |
| 5 |
/= |
$a /= 10 |
$a = $a / 10; |
| 6 |
%= |
$a %= 10 |
$a = $a % 10; |
| 7 |
.= |
$a .= 'a' |
$a = $a . 'a'; |
4. 比较运算符
| 序号 |
运算符 |
示例 |
描述 |
| 1 |
> |
$a > $b |
大于 |
| 2 |
>= |
$a >= $b |
大于或等于 |
| 3 |
< |
$a < $b |
小于 |
| 4 |
<= |
$a <= $b |
小于或等于 |
| 5 |
== |
$a == $b |
等于 (值相等即可) |
| 6 |
=== |
$a == $b |
全等于(二边值与类型全等) |
| 7 |
!= |
$a != $b |
不相等 |
| 8 |
!== |
$a !== $b |
不全等 |
| 9 |
<=> |
$a <=> $b |
太空船php7+ |
- 比较运算符: 返回布尔值,常用于流程控制中(
if/while/for...) <=>: 也叫组合比较符, 例如$a <=> $b, 有三种返回结果
| 序号 |
运算 |
结果 |
| 1 |
$a > $b |
返回>0的整数 |
| 2 |
$a < $b |
返回<0的整数 |
| 3 |
$a = $b |
返回=0的整数 |
5. 逻辑运算符
| 序号 |
运算符 |
示例 |
描述 |
| 1 |
&& |
$a && $b |
逻辑与 |
| 2 |
` |
|
` |
`$a |
|
$b` |
逻辑或 |
| 3 |
! |
!$a |
逻辑非 |
| 4 |
xor |
$a xor $b |
逻辑异或 |
6. 三元运算符
| 序号 |
运算符 |
示例 |
描述 |
场景 |
| 1 |
?: |
$a ?: $b |
仅判断表达式true/false |
简化双分支 |
| 2 |
?? |
$a ?? $b |
判断变量存在且不为 null |
设置默认值 |
7. 错误屏蔽符
| 运算符 |
示例 |
描述 |
场景 |
@ |
@(10/0) |
屏蔽所有运行错误 |
线上生产环境 |
二、流程控制
1. 分支结构
| 序号 |
类型 |
语法 |
模板语法 |
| 1 |
单分支 |
if(){...} |
if(): ... endif; |
| 2 |
双分支 |
if(){...} else {...} |
if(): ... else: ... endif; |
| 3 |
多分支 |
if(){...} elseif {...} else {...} |
if(): ... elseif: ... else: ... endif; |
| 4 |
switch |
switch() {case: ... break...} |
switch(): ...endswitch; |
2. 循环结构
| 序号 |
类型 |
语法 |
模板语法 |
| 1 |
入口判断型 |
while(){...} |
while(): ... endwhile; |
| 2 |
出口判断型 |
do {...} while(); |
do : ... while(); |
| 3 |
计数型 |
for(){...} |
for () : ... endfor; |
循环控制关键字:
| 序号 |
关键字 |
描述 |
| 1 |
continue |
终止本次循环,提前进入下一轮 |
| 2 |
break |
跳出本层循环 |
3. 代码实例
<?phpecho '<h3>';echo "一、逻辑运算符和三元运算符的运用";echo'</h3>';$person_1 = ["name"=>"小明", "sex"=>"男", "age"=>16];$person_2 = ["name"=>"小红", "sex"=>"女", "age"=>18];echo $person_1["age"] < 20 && $person_2["age"] < 20 ? $person_1["name"]."和".$person_2["name"]."都是青少年" : $person_1["name"]."和".$person_2["name"]."不是青少年";echo '<hr>';echo '<h3>';echo "二、使用for循环遍历数值数组和使用foreach函数遍历关联数组";echo'</h3>';echo '<h4>';echo "1. 使用for循环遍历数值数组";echo'</h4>';$person = ["小明", "男", 16, 13781235421, "xiaoming@qq.com"];for ($i=0; $i<count($person); $i++) { echo $person[$i].'<br>';}echo '<h4>';echo "2. 使用foreach函数遍历关联数组";echo'</h4>';$person = ["姓名"=>"小明", "性别"=>"男", "年龄"=>16, "手机号码"=>13781235421, "邮箱"=>"xiaoming@qq.com"];foreach ($person as $key => $value) { switch ($person) : case $key === "姓名": echo "他的".$key."是:".$value."<br>"; break; case $key === "性别": echo "他的".$key."是:".$value."<br>"; break; case $key === "年龄": echo "他的".$key."是:".$value."<br>"; break; case $key === "手机号码": echo "他的".$key."是:".$value."<br>"; break; default: echo "他的".$key."是:".$value."<br>"; endswitch;}echo '<hr>';echo '<h3>';echo "三、使用foreach函数遍历多维数组";echo'</h3>';$person = [ "年轻人"=>["姓名"=>"小红", "性别"=>"女", "年龄"=>16, "手机号码"=>13781235421, "邮箱"=>"xiaohong@qq.com"], "中年人"=>["姓名"=>"李云龙", "性别"=>"男", "年龄"=>45, "手机号码"=>13516935421, "邮箱"=>"liyunlong@qq.com"], "老年人"=>["姓名"=>"摩根", "性别"=>"男", "年龄"=>74, "手机号码"=>15964554216, "邮箱"=>"mogen@qq.com"]];echo '<pre>';print_r($person);echo '</pre>';foreach ($person as $key_1 => $value_1) { echo $key_1.":"."<br>"; foreach ($value_1 as $key_2 => $value_2) { echo $key_2."是:".$value_2."<br>"; if ($key_2 === "邮箱") : echo "<br>"; endif; }}?>


三、课程总结
- 今天学习了 PHP 的基础知识,通过上课认真听讲和认真完成老师布置的作业,使得我对 PHP 的理解和运用更加深入和熟悉。最主要的知识点是明白了各类运算符和条件、循环语句的特点,以及了解并熟悉了各类运算符和条件、循环语句的常见的用法。
批改老师:
天蓬老师
批改状态:合格
老师批语:高楼千万尺, 全靠地基牢... 好好干