Blogger Information
Blog 13
fans 2
comment 0
visits 10345
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP流程控制基本知识及实例
北纬38
Original
728 people have browsed it

1.运算

比较运算返回布尔值

  1. var_dump(100>250);
  2. var_dump(50 == '50');
  3. var_dump(100 === '100');
  4. echo '<br>';


太空船运算符
第一个操作数小于第二个操作数为-1,大于为1,等于为0.

  1. var_dump(100 <=>250);
  2. var_dump(100 <=>50);
  3. var_dump(100 <=>100);
  4. echo '<hr>';


逻辑运算符
&&:与运算符,两边运算全部为true,否则返回false。
||:或运算符,只要一个为true,返回就为true。

  1. var_dump((100>250)&&(10>15));
  2. var_dump((5<20)||(5>8));
  3. echo '<hr>';

短路求值
if..else..条件判断,如果第一条语句为false,则执行else里面的语句;如果第一条件语句为true,则执行第一条语句。

  1. $AA=25;
  2. if ($AA && $AA === 25)
  3. echo '你赚钱了';
  4. else
  5. echo '你亏钱了';
  6. echo '<hr>';
  7. $AA=23;
  8. if ($AA && $AA === 25)
  9. echo '你赚钱了';
  10. else
  11. echo '你亏钱了';
  12. echo '<hr>';

三元运算符
简化双分支,三个表达式,有两个运算符。

  1. if ($KG > 50) echo '太重了';
  2. else echo '太轻了';
  3. echo '<hr>';
  4. $KG = 30;
  5. echo ($KG >50) ? '太重了':'太轻了';
  6. echo '<hr>';

null合并运算符

  1. $BB = 25;
  2. echo isset($BB) ? ($BB) : 'kao';
  3. echo '<hr>';
  4. unset($BB);
  5. echo $BB ?? 'kao';

2.流程控制

当流程控制语句中只有一行代码的时候,可以省略大括号。
模板语法: 就是干掉流程控制中的大括号,将起始大括号用冒号代替,将结束大括号用特殊关键字代替

单分支

  1. $AA = 25;
  2. $BB = $AA;
  3. if ($AA>=20) $BB =$AA*0.2;
  4. if ($AA >= 20) : $BB = $AA *0.2;endif ;
  5. echo '实际重量:',$BB ,'<br>';
  6. echo '<hr>';

二分支

  1. $AA = 15;
  2. if ($AA >= 20){
  3. $BB = $AA*0.2;
  4. }
  5. else {
  6. $BB = $AA;
  7. }
  8. echo '实际重量:',$BB ,'<br>';
  9. $AA = 60;
  10. if ($AA >= 20):
  11. $BB = $AA*0.2;
  12. else:
  13. $BB =$AA;
  14. endif;
  15. echo '实际重量:',$BB ,'<br>';
  16. echo '<hr>';

多分支

  1. $AA = 280;
  2. if ($AA > 50 && $AA < 100 ){
  3. $BB = $AA * 0.8;
  4. }elseif ($AA > 100 && $AA < 200) {
  5. $BB = $AA * 0.7;
  6. }elseif ($AA > 200 && $AA < 300) {
  7. $BB = $AA *0.6;
  8. }else{
  9. $BB = $AA;
  10. }
  11. echo '实际重量:',$BB ,'<br>';
  12. echo '<hr>';
  13. $AA = 180;
  14. if ($AA > 50 && $AA < 100 ):
  15. $BB = $AA * 0.8;
  16. elseif ($AA > 100 && $AA < 200):
  17. $BB = $AA * 0.7;
  18. elseif ($AA > 200 && $AA < 300):
  19. $BB = $AA *0.6;
  20. else:
  21. $BB = $AA;
  22. endif;
  23. echo '实际重量:',$BB ,'<br>';
  24. echo '<hr>';

switch简化多分支

  1. $AA = 280;
  2. switch (true){
  3. case ($AA > 50 && $AA < 100 ):
  4. $BB = $AA * 0.8;
  5. break;
  6. case ($AA > 100 && $AA < 200):
  7. $BB = $AA * 0.7;
  8. break;
  9. case ($AA > 200 && $AA < 300):
  10. $BB = $AA *0.6;
  11. break;
  12. default:
  13. $BB = $AA;
  14. }
  15. echo '实际重量:',$BB ,'<br>';
  16. echo '<hr>';
  17. $AA = 1.4;
  18. $cc = 200;
  19. switch ($AA){
  20. case 1.5:
  21. $dd = $cc *1.5;
  22. break;
  23. case 1.4:
  24. $dd = $cc * 1.4;
  25. break;
  26. case 1.3:
  27. $dd = $cc *1.3;
  28. break;
  29. default:
  30. die('不正常');
  31. }
  32. echo '实际重量:',$dd ,'<br>';
  33. echo '<hr>';
  34. $AA = 1.4;
  35. $cc = 200;
  36. switch ($AA):
  37. case 1.5:
  38. $dd = $cc *1.5;
  39. break;
  40. case 1.4:
  41. $dd = $cc * 1.4;
  42. break;
  43. case 1.3:
  44. $dd = $cc *1.3;
  45. break;
  46. default:
  47. die('不正常');
  48. endswitch;
  49. echo '实际重量:',$dd ,'<br>';
  50. echo '<hr>';

3.循环控制

判断型循环: 入口判断型 while(条件) {…}
进入循环代码之前进行判断,只有条件为真才执行循环体

  1. $fruits = ['苹果','香蕉','葡萄','西瓜','荔枝'];
  2. echo current($fruits);
  3. next($fruits);
  4. echo current($fruits);
  5. next($fruits);
  6. echo current($fruits);
  7. next($fruits);
  8. echo current($fruits);
  9. next($fruits);
  10. echo current($fruits);
  11. while($fruit = current($fruits)){
  12. echo $fruit, '<br>';
  13. next($fruits);
  14. }
  15. reset($fruits);
  16. while($fruit = current($fruits)){
  17. echo $fruit, '<br>';
  18. next($fruits);
  19. }


出口判断型:do{….}while(条件)
循环体内必须要有更新循环条件的语句,否则进入死循环.
do - while 没有对应的模板语法。

  1. do{
  2. echo $fruit, '<br>';
  3. next($fruits);
  4. }while($fruit = current($fruits));


计数型循环: for (循环变量的初始化; 循环条件; 更新循环条件){….}

  1. echo count($fruits);
  2. for ($i = 0; $i < count($fruits);$i++){
  3. echo $fruits[$i], '<br>';
  4. }
  5. // 模板语法
  6. for ($i = 0; $i < count($fruits);$i++):
  7. echo $fruits[$i], '<br>';
  8. endfor;
  9. for ($i = 0; $i < count($fruits);$i++):
  10. // 输出拦截,break提前终止循环
  11. if ($i > 2) break;
  12. echo $fruits[$i], '<br>';
  13. endfor;
  14. for ($i = 0; $i < count($fruits);$i++):
  15. //有选择性的输出,跳过一部分元素
  16. if ($i === 3) continue;
  17. echo $fruits[$i], '<br>';
  18. endfor;



4.总结

  • 掌握三种分支和三种循环。
  • 掌握模板语法的使用。
  • 会判断条件。
Correcting teacher:GuanhuiGuanhui

Correction status:qualified

Teacher's comments:三种分支和三种循环,一定要根据场景合理使用!
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post