批改状态:合格
老师批语:完成的相当棒, 流程控制模板语法一定要多注意
| 序号 | 运算符 | 示例 | 描述 |
|---|---|---|---|
| 1 | % |
$a%$b |
$a与$b 的余(模) |
| 2 | ++ |
$a++/++$a |
先用再加/先加再用 |
| 3 | -- |
$a--/--$a |
先用再减/先减再用 |
| 4 | ** |
2**4 |
幂运算:2 的 4 次方 |
$a++=>$a = $a + 1, $a--=>$a = $a - 1**: 幂运算需要 php5.6+版本| 序号 | 运算符 | 示例 | 描述 |
|---|---|---|---|
| 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'; |
| 序号 | 运算符 | 示例 | 描述 |
|---|---|---|---|
| 1 | == |
$a == $b |
等于 (值相等即可) |
| 2 | === |
$a == $b |
全等于(二边值与类型全等) |
| 3 | != |
$a != $b |
不相等 |
| 4 | !== |
$a !== $b |
不全等 |
| 5 | <=> |
$a <=> $b |
太空船php7+ |
if/while/for...)<=>: 也叫组合比较符, 例如$a <=> $b, 有三种返回结果| 序号 | 运算符 | 示例 | 描述 | ||||
|---|---|---|---|---|---|---|---|
| 1 | && |
$a && $b |
逻辑与 | ||||
| 2 | ` | ` | `$a | $b` | 逻辑或 | ||
| 3 | ! |
!$a |
逻辑非 | ||||
| 4 | xor |
$a xor $b |
逻辑异或 |
| 序号 | 运算符 | 示例 | 描述 | 场景 |
|---|---|---|---|---|
| 1 | ?: |
$a ?: $b |
仅判断表达式true/false |
简化双分支 |
| 2 | ?? |
$a ?? $b |
判断变量存在且不为 null |
设置默认值 |
| 运算符 | 示例 | 描述 | 场景 |
|---|---|---|---|
@ |
@(10/0) |
屏蔽所有运行错误 | 线上生产环境 |
运算符代码:
<?php// 运算符// 取余数var_dump(10%3);echo '<hr>';// ++,--,只能用在变量上, 先引用变量的值, 再将变量执行+1或-1的运算$a = 88;var_dump($a);$a++;var_dump($a);echo '<hr>';$b = 66;$b--;var_dump($b);$b = 66;--$b;var_dump($b);echo '<hr>';// 比较运算符返回布尔类型的值// 太空船 <=>var_dump(66 <=> 88);// -1 < 0, 说明 10 小于 20var_dump(88 <=> 66);// 1 > 0, 说明 10 大于 5var_dump(66 <=> 66);// 0, 说明 相等echo '<hr>';// && 且,同时符合var_dump((66<88) && 88>66);// || 或,其中一个符合var_dump((66<88) || 66>88);echo '<hr>';// 三元运算符// 条件 ? true : false$age = 26;echo $age > 18 ? '成年了' : '小屁孩';echo '<hr>';// ?? null合并运算符// 设置变量默认值$password;// $password = isset($password) ? $password : 'root';$password = $password ?? 'root';echo $password;echo '<hr>';// @: 屏蔽所有运行错误echo @$username;@(10/0);// 语法 错误是不能被屏蔽//@incle 'hello.php';
演示效果:

| 序号 | 类型 | 语法 | 模板语法 |
|---|---|---|---|
| 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; |
分支代码:
<?php// 分支// 1.单分支$salary = 800;if($salary < 1000){echo '建议走路,锻炼身体。<br>';}// 简写if($salary < 1000) echo '建议走路,锻炼身体。<br>';// 模板语法if($salary < 1000):echo '建议走路,锻炼身体。<br>';endif;echo '<hr>';// 2.双分支$salary = 2000;if($salary < 1000){echo '建议走路,锻炼身体。<br>';} else {echo '可以不用走路了。<br>';}// 模板语法if($salary < 1000):echo '建议走路,锻炼身体。<br>';else :echo '可以不用走路了。<br>';endif;echo '<hr>';// 3.多分支$salary = 9000;if ($salary >= 1000 && $salary < 3000) {echo '电动自行车,告别城市拥堵。<br>';} elseif ($salary >= 3000 && $salary < 5000) {echo '高档电动车,将拥堵的车流甩在身后。<br>';} elseif ($salary >= 5000 && $salary < 8000) {echo '入手入门级6万左右车型,成为有车一族。<br>';} elseif ($salary >= 8000) {echo '10万以上车型。<br>';} else {echo '还是老老实实走路,锻炼身体吧。<br>';}// 模板语法if ($salary >= 1000 && $salary < 3000) :echo '电动自行车,告别城市拥堵。<br>';elseif ($salary >= 3000 && $salary < 5000) :echo '高档电动车,将拥堵的车流甩在身后。<br>';elseif ($salary >= 5000 && $salary < 8000) :echo '入手入门级6万左右车型,成为有车一族。<br>';elseif ($salary >= 8000) :echo '10万以上车型。<br>';else :echo '还是老老实实走路,锻炼身体吧。<br>';endif;echo '<hr>';// 4.多分支简化'switch'$salary = 6000;switch (true) {case $salary >= 1000 && $salary < 3000:echo '电动自行车,告别城市拥堵。<br>';break;case $salary >= 3000 && $salary < 5000:echo '高档电动车,将拥堵的车流甩在身后。<br>';break;case $salary >= 5000 && $salary < 8000:echo '入手入门级6万左右车型,成为有车一族。<br>';break;case $salary >= 8000:echo '10万以上车型。<br>';break;default:echo '还是老老实实走路,锻炼身体吧。<br>';}// 模板语法$salary = 6000;switch (true) :case $salary >= 1000 && $salary < 3000:echo '电动自行车,告别城市拥堵。<br>';break;case $salary >= 3000 && $salary < 5000:echo '高档电动车,将拥堵的车流甩在身后。<br>';break;case $salary >= 5000 && $salary < 8000:echo '入手入门级6万左右车型,成为有车一族。<br>';break;case $salary >= 8000:echo '10万以上车型。<br>';break;default:echo '还是老老实实走路,锻炼身体吧。<br>';endswitch;echo '<hr>';// switch单值判断$live= '';$salary = 6000;switch ($salary) :case 4000:$live = '养活自己.';break;case 6000:$live = '有点存款.';break;case 10000:$live = '找个女朋友.';break;case 12000:$live = '买辆车.';break;default:$live = '未定义.';endswitch;echo $live;echo '<hr>';
代码演示效果:

| 序号 | 类型 | 语法 | 模板语法 |
|---|---|---|---|
| 1 | 入口判断型 | while(){...} |
while(): ... endwhile; |
| 2 | 出口判断型 | do {...} while(); |
do : ... while(); |
| 3 | 计数型 | for(){...} |
for () : ... endfor; |
循环控制关键字:
| 序号 | 关键字 | 描述 |
|---|---|---|
| 1 | continue |
终止本次循环,提前进入下一轮 |
| 2 | break |
跳出本层循环 |
循环代码:
<?php// 循环$country = ['CHN', 'US', 'AS', 'VN', 'CANADA'];// current():当前数组指针// next():下移// reset():重置// count():计数// for:计数型for($i = 0; $i < count($country); $i++) {echo $country[$i] . '<br>';next( $country);}echo '<hr>';// 模板语法for($i = 0; $i < count($country); $i++) :echo $country[$i] . '<br>';next( $country);endfor;echo '<hr>';// break: 跳出循环$country = ['CHN', 'US', 'AS', 'VN', 'CANADA'];for($i = 0; $i < count($country); $i++) :echo $country[$i] . '<br>';next( $country);if ($country[$i] === 'AS') break;endfor;echo '<hr>';// continue : 终止本次循环,提前进入下一轮$country = ['CHN', false, '', 'US', 'AS', null, 'VN', 'CANADA'];for($i = 0; $i < count($country); $i++) :if (!$country[$i]) continue;echo $country[$i] . '<br>';next( $country);endfor;echo '<hr>';// while:入口判断型$country = ['CHN', 'US', 'AS', 'VN', 'CANADA'];$i = 0;while ($i < count($country)) :echo $country[$i] . '<br>';// 更新循环条件, 没有这个语句, 会进入死循环next($country);$i++;endwhile;echo '<hr>';// do {...} while():出口判断型reset($country);$i = 0;do {echo $country[$i] . '<br>';// 更新循环条件, 没有这个语句, 会进入死循环next($country);$i++;} while ($i > count($country));
代码演示效果:

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号