博客列表 >php流程控制结构与替代语法

php流程控制结构与替代语法

余生
余生原创
2020年11月22日 15:23:39900浏览

任何 PHP 脚本都是由一系列语句构成的。一条语句可以是一个赋值语句,一个函数调用,一个循环,一个条件语句或者甚至是一个什么也不做的语句(空语句)。语句通常以分号结束。此外,还可以用花括号将一组语句封装成一个语句组。语句组本身可以当作是一行语句。—php官网介绍

本文介绍内容包含:
if、if…else、elseif、switch、while循环、do…while..、for循环以及流程控制的替代语法(也叫模板语法)。

1.if 允许按照条件执行代码片段,单一条件分支结构

  1. <?php
  2. // 如果a>b 则输出 a is bigger than b
  3. if ($a > $b)
  4. echo "a is bigger than b";
  5. ?>

2.if…else 双向条件分支结构

  1. <?php
  2. // 如果$a > $b 则输出a is greater than b,否则输出a is NOT greater than b
  3. if ($a > $b) {
  4. echo "a is greater than b";
  5. } else {
  6. echo "a is NOT greater than b";
  7. }
  8. ?>

3.elseif 多向条件分支结构(和 else 一样,它延伸了 if 语句,可以在原来的 if 表达式值为 FALSE 时执行不同语句。)

  1. <?php
  2. if (表达式) {
  3. echo "输出内容";
  4. }
  5. // 多个条件
  6. elseif (表达式) {
  7. echo "输出内容";
  8. }
  9. // 都不满足则输出
  10. else {
  11. echo "输出内容";
  12. }
  13. ?>

4.switch 多向条件分支结构:通常用在单值判断中

  1. // 系统默认函数周/星期 date('N');
  2. $week = date('N');
  3. switch($week):
  4. case 1:
  5. echo '周一';
  6. //break;使流程跳出switch语句体
  7. break;
  8. case 1:
  9. echo '周二';
  10. break;
  11. case 1:
  12. echo '周三';
  13. break;
  14. case 1:
  15. echo '周四';
  16. break;
  17. case 1:
  18. echo '周五';
  19. break;
  20. // 默认值
  21. default:
  22. echo '休息';
  23. break;
  24. endswitch;

5.循环结构:while 入口判断型

  1. //创建数组
  2. $cities = ['合肥','上海','南京','杭州','广州'];
  3. // current()函数:输出数组中的当前元素的值
  4. while($city=current($cities)){
  5. echo $city;// while循环默认输出第一个
  6. // 指针前移
  7. next($cities);// 输出:合肥上海南京杭州广州
  8. }
  9. // 指针复位
  10. reset($cities);
  11. echo current($cities);//输出第一个 合肥

6.do…while循环 和 while 循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和一般的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在一般的 while 循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为 FALSE 则整个循环立即终止)。

  1. //创建数组
  2. $cities = ['合肥','上海','南京','杭州','广州'];
  3. do{
  4. echo $city;
  5. // 循环体内必须要有更新循环条件的语句,否则会死循环
  6. next($cities);
  7. }while($city = current($cities));

7.for循环

  1. $cities = ['合肥','上海','南京','杭州','广州'];
  2. for($i=0;$i<count($cities);$i++){
  3. // break 提前结束循环 continue有选择行性的输出
  4. if($i>2)break;
  5. echo $cities[$i];
  6. }

php流程控制模板语法
PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch。替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;。
例:

  1. <?php
  2. $cities = ['合肥','上海','南京','杭州','广州'];
  3. for($i=0;$i<count($cities);$i++):
  4. // break 提前结束循环 continue有选择行性的输出
  5. if($i>2)break;
  6. echo $cities[$i];
  7. endfor;
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议