PHP 流程控制

代码执行的方向

控制分类

  • 顺序结构 代码从上往下,顺序执行
  • 分支结构 根据条件执行某一段代码
  • 循环结构 指定代码块重复执行

顺序结构

最基本的结构,所有代码默认都是从上往下依次执行

分支结构

1、if 分支

基本语法

// 1、最简if
if(条件表达式){// 满足条件所要执行的代码
}// 2、基础if
if(条件){// 满足
}
else{// 不满足
}// 3、复杂if
if(条件1){// 满足条件1
}
else if(条件2){// 满足条件2
}
else{// 不满足
}

注意: 嵌套层数不宜过多

示例

<?php$a = 1;if ($a == 1) {echo '星期一';
} else if ($a == 2) {echo '星期二';
} else {echo '未知';
}// 星期一

2、switch 分支

使用场景:同一个条件有多个值

基本语法

switch(条件表达式){case 值1: // 判断表达式的结果与值相等要执行的代码段1;break;case 值2:要执行的代码段2;break;...default:默认自行的代码;
}

switch 匹配成功后,会执行之后的代码,需要使用 break 跳出

<?php$a = 1;switch ($a) {case 1:echo '星期一';break;case 2:echo '星期二';break;default:echo '未知';
}// 星期一

if 和 switch 的选择

  • if 能做所有的的分支结构
  • switch 处理的条件多,用于固定的条件

循环结构

  • for 循环
  • while 循环
  • do-while 循环
  • foreach 循环,专门针对数组

1、for 循环

基本语法

for(初始化条件; 边界表达式; 条件变化){// 循环体
}

示例

<?php// 循环输出1-10
for ($i = 1; $i <= 10; $i++) {echo $i . ' ';
}// 1 2 3 4 5 6 7 8 9 10// 初始化语句中,定义多个变量
for ($i = 1, $end = 10; $i <= $end; $i++) {echo $i . ' ';
}

For循环特殊使用:死循环,避免出现

for(;;){// 无限循环
}

2、while循环

基本语法

条件初始化;while(条件表达式){// 循环体// 循环条件的变化
}

示例

<?php$i = 1;while( $i <= 10 ){echo $i . ' ';$i++;
}// 1 2 3 4 5 6 7 8 9 10

For和while的选择

  • For循环:基于已知条件,数值有规律变化
  • while循环:灵活条件判定

3、do-while

基本语法

do{// 循环体
} while(判断条件);

示例

<?php$i = 1;do{echo $i . ' ';$i++;
}
while( $i <= 10 );// 1 2 3 4 5 6 7 8 9 10

循环控制

在循环体内部对循环本身进行控制

  • 中断控制 continue:重新开始循环,循环体重还有其他内容,也执行
  • 终止控制 break:循环直接结束
<?phpfor ($i=0; $i < 10; $i++) { if($i % 2 == 0){continue;}if($i == 8){break;}echo $i . ' ';
}// 1 3 5 7 9

流程控制替代语法

分支和循环结构的替代语法

HTML和PHP进行混搭

<table><!-- 输出 99乘法表 --><?php for ($i = 1; $i < 10; $i++) { ?><tr><?php for ($j = 1; $j <= $i; $j++) { ?><td> <?php echo $i . ' * ' . $j . ' = ' . $i * $j; ?></td><?php } ?></tr><?php } ?>
</table>
1 * 1 = 1
2 * 1 = 2   2 * 2 = 4
3 * 1 = 3   3 * 2 = 6   3 * 3 = 9
4 * 1 = 4   4 * 2 = 8   4 * 3 = 12  4 * 4 = 16
5 * 1 = 5   5 * 2 = 10  5 * 3 = 15  5 * 4 = 20  5 * 5 = 25
6 * 1 = 6   6 * 2 = 12  6 * 3 = 18  6 * 4 = 24  6 * 5 = 30  6 * 6 = 36
7 * 1 = 7   7 * 2 = 14  7 * 3 = 21  7 * 4 = 28  7 * 5 = 35  7 * 6 = 42  7 * 7 = 49
8 * 1 = 8   8 * 2 = 16  8 * 3 = 24  8 * 4 = 32  8 * 5 = 40  8 * 6 = 48  8 * 7 = 56  8 * 8 = 64
9 * 1 = 9   9 * 2 = 18  9 * 3 = 27  9 * 4 = 36  9 * 5 = 45  9 * 6 = 54  9 * 7 = 63  9 * 8 = 72  9 * 9 = 81

另一种书写for的方式

<table><!-- 输出 99乘法表 --><?php for ($i = 1; $i < 10; $i++) : ?><tr><?php for ($j = 1; $j <= $i; $j++) : ?><td> <?php echo $i . ' * ' . $j . ' = ' . $i * $j; ?></td><?php endfor ?></tr><?php endfor ?>
</table>

PHP在HTML中应该只做数据输出

if() {} => if(): endif;

PHP 零基础入门笔记(6):PHP 流程控制相关推荐

  1. 11岁过python1级_11岁表弟写的Python零基础入门笔记!

    一.Python输入与输出输出:使用print()函数. print()函数的基本语法格式如下:print(输出内容). 输出内容可以是数字和字符串(字符串需要用引号括起来),也可以是包含运算符的表达 ...

  2. 【Python3零基础入门笔记】05 Python时间处理——time库的使用

    time库的使用: time库基本情况 时间获取 时间格式化 程序计时 文本进度条实例 time库基本情况 Time库是python中处理时间的标准库 计算机时间表达 提供获取系统时间并格式化输出功能 ...

  3. PHP 零基础入门笔记(8):PHP 文件包含include/require

    PHP 文件包含include/require 在一个 PHP 脚本中,去将另一个文件包含进来 文件包含的作用 实现代码共享重用,协作共同完成一件事 使用被包含文件中的内容:向上包含(所要) 自己的东 ...

  4. Unity C#零基础入门笔记(一)Paws3D笔记

    计算机语言: 计算机语言按发展分为三种: 机器语言 汇编语言 高级语言 机器语言就是机器码,是能够被计算机直接理解的语言.更通俗地讲就是010101这样的二进制指令.和硬件密切相关,编写苦难. 两个主 ...

  5. PHP 零基础入门笔记(11):字符串 String

    字符串 String 字符串类型 单引号字符串 双引号字符串 nowdoc 字符串 heredoc 字符串 示例 <?php// 1.单引号字符串 $str1 = 'hello world';v ...

  6. JavaScript零基础入门--笔记动力节点最新老杜(九-完结)全套笔记精髓

    JSON         1.什么是JSON,有什么用?                     JavaScript Object Notation(JavaScript对象标记),简称JSON.( ...

  7. PHP 零基础入门笔记(3):PHP 变量和常量

    PHP 变量和常量 PHP 基本语法 PHP 是一种运行在服务器端的脚本语言,可以嵌入到 HTML 中 1.PHP 代码标记 ASP 标记(asp_tags,已弃用) <% php代码 %> ...

  8. PHP 零基础入门笔记(7):PHP 常用的系统函数

    PHP 常用的系统函数 输出函数 print() 类似 echo 输出,返回 1 print_r() 类似 var_dump(), 不会输出类型,只会输出值 <?phpecho 'hello w ...

  9. PHP 零基础入门笔记(2):安装PHP

    安装PHP demo.php <?phpecho "Hello World"; 解释执行php脚本 $ php demo.php Hello World apache htt ...

最新文章

  1. Controller类的方法上的RequestMapping一定要写在Controller类里吗?
  2. 什么是程序员正确的职场心态?
  3. 2.Cannot find config.m4.
  4. 【Mac】mac 安装Axure RP 8 点不开 就一直跳-后闪退-报错Expected an Int64 but got a System.UInt64
  5. additemdecoration重复_安卓中另一个强大的大量数量集控件RecyclerView
  6. vaspkit使用_VASP 的光学性质计算及 vaspkit 的安装与使用
  7. 如何使用PowerShell处理SQL Azure数据库
  8. Xshell 6, 7 已过期的解决方案
  9. 网页嵌入谷歌翻译js插件
  10. C#写入注册表打印异常提示无法写入到注册表项
  11. 120帧手机动态壁纸_星空陨石动态壁纸手机版下载-星空陨石动态壁纸app安卓版下载v1.7最新版...
  12. MetaAI的融合怪:BlenderBot
  13. 设计模式六大原则(初步理解)
  14. 基于PHP的租赁商城系统(包括数据库和后台)
  15. 实现 flatten 扁平化对象和数组
  16. 英语作文计算机国际会议开幕词,学术会议开幕词英文.doc
  17. 煤炭行业转型箭在弦上,云+AI推进两化深度融合
  18. 宏基服务器型号,宏基云服务器排名
  19. 超级星饭团专访陆毅:化身“霸总”上演“沙漏”式爱情
  20. mysql5.6.1732位_MySQL - 龚哥哥的博客 - gong.gg

热门文章

  1. 百择电商:抖音超级福袋怎么使用?
  2. 掌握这四步,月收入1万+的自媒体人可能就是你
  3. python生成图文并茂的pdf--财务报表(七)表格和图表怎么并列
  4. C#NPOI导出Excel详解
  5. C++之emplace
  6. android stagefright框架
  7. 0-01--python3 优雅地使用 configparser加载配置内容-无默认配置
  8. 速来查分 二级建造师第一个笔考成绩出了
  9. java 导出如何合并列_Java导出excel时合并同一列中相同内容的行思路详解
  10. 淘宝h5 页面 sign加密算法