批改状态:合格
老师批语:三种分支和三种循环,一定要根据场景合理使用!
比较运算返回布尔值
var_dump(100>250);var_dump(50 == '50');var_dump(100 === '100');echo '<br>';

太空船运算符
第一个操作数小于第二个操作数为-1,大于为1,等于为0.
var_dump(100 <=>250);var_dump(100 <=>50);var_dump(100 <=>100);echo '<hr>';

逻辑运算符
&&:与运算符,两边运算全部为true,否则返回false。
||:或运算符,只要一个为true,返回就为true。
var_dump((100>250)&&(10>15));var_dump((5<20)||(5>8));echo '<hr>';

短路求值
if..else..条件判断,如果第一条语句为false,则执行else里面的语句;如果第一条件语句为true,则执行第一条语句。
$AA=25;if ($AA && $AA === 25)echo '你赚钱了';elseecho '你亏钱了';echo '<hr>';$AA=23;if ($AA && $AA === 25)echo '你赚钱了';elseecho '你亏钱了';echo '<hr>';

三元运算符
简化双分支,三个表达式,有两个运算符。
if ($KG > 50) echo '太重了';else echo '太轻了';echo '<hr>';$KG = 30;echo ($KG >50) ? '太重了':'太轻了';echo '<hr>';

null合并运算符
$BB = 25;echo isset($BB) ? ($BB) : 'kao';echo '<hr>';unset($BB);echo $BB ?? 'kao';

当流程控制语句中只有一行代码的时候,可以省略大括号。
模板语法: 就是干掉流程控制中的大括号,将起始大括号用冒号代替,将结束大括号用特殊关键字代替
单分支
$AA = 25;$BB = $AA;if ($AA>=20) $BB =$AA*0.2;if ($AA >= 20) : $BB = $AA *0.2;endif ;echo '实际重量:',$BB ,'<br>';echo '<hr>';

二分支
$AA = 15;if ($AA >= 20){$BB = $AA*0.2;}else {$BB = $AA;}echo '实际重量:',$BB ,'<br>';$AA = 60;if ($AA >= 20):$BB = $AA*0.2;else:$BB =$AA;endif;echo '实际重量:',$BB ,'<br>';echo '<hr>';

多分支
$AA = 280;if ($AA > 50 && $AA < 100 ){$BB = $AA * 0.8;}elseif ($AA > 100 && $AA < 200) {$BB = $AA * 0.7;}elseif ($AA > 200 && $AA < 300) {$BB = $AA *0.6;}else{$BB = $AA;}echo '实际重量:',$BB ,'<br>';echo '<hr>';$AA = 180;if ($AA > 50 && $AA < 100 ):$BB = $AA * 0.8;elseif ($AA > 100 && $AA < 200):$BB = $AA * 0.7;elseif ($AA > 200 && $AA < 300):$BB = $AA *0.6;else:$BB = $AA;endif;echo '实际重量:',$BB ,'<br>';echo '<hr>';
switch简化多分支
$AA = 280;switch (true){case ($AA > 50 && $AA < 100 ):$BB = $AA * 0.8;break;case ($AA > 100 && $AA < 200):$BB = $AA * 0.7;break;case ($AA > 200 && $AA < 300):$BB = $AA *0.6;break;default:$BB = $AA;}echo '实际重量:',$BB ,'<br>';echo '<hr>';$AA = 1.4;$cc = 200;switch ($AA){case 1.5:$dd = $cc *1.5;break;case 1.4:$dd = $cc * 1.4;break;case 1.3:$dd = $cc *1.3;break;default:die('不正常');}echo '实际重量:',$dd ,'<br>';echo '<hr>';$AA = 1.4;$cc = 200;switch ($AA):case 1.5:$dd = $cc *1.5;break;case 1.4:$dd = $cc * 1.4;break;case 1.3:$dd = $cc *1.3;break;default:die('不正常');endswitch;echo '实际重量:',$dd ,'<br>';echo '<hr>';

判断型循环: 入口判断型 while(条件) {…}
进入循环代码之前进行判断,只有条件为真才执行循环体
$fruits = ['苹果','香蕉','葡萄','西瓜','荔枝'];echo current($fruits);next($fruits);echo current($fruits);next($fruits);echo current($fruits);next($fruits);echo current($fruits);next($fruits);echo current($fruits);while($fruit = current($fruits)){echo $fruit, '<br>';next($fruits);}reset($fruits);while($fruit = current($fruits)){echo $fruit, '<br>';next($fruits);}

出口判断型:do{….}while(条件)
循环体内必须要有更新循环条件的语句,否则进入死循环.
do - while 没有对应的模板语法。
do{echo $fruit, '<br>';next($fruits);}while($fruit = current($fruits));

计数型循环: for (循环变量的初始化; 循环条件; 更新循环条件){….}
echo count($fruits);for ($i = 0; $i < count($fruits);$i++){echo $fruits[$i], '<br>';}// 模板语法for ($i = 0; $i < count($fruits);$i++):echo $fruits[$i], '<br>';endfor;for ($i = 0; $i < count($fruits);$i++):// 输出拦截,break提前终止循环if ($i > 2) break;echo $fruits[$i], '<br>';endfor;for ($i = 0; $i < count($fruits);$i++)://有选择性的输出,跳过一部分元素if ($i === 3) continue;echo $fruits[$i], '<br>';endfor;



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