PHP[入门]P09-流程控制
这是我早期的 php 学习笔记,php 的学习版本版本是 5.6、7,🐟2020/05/06年从有道笔记导出至此。
day09-流程控制
settype()
可变变量
变量的引用
1.流程控制中的三种结构
顺序结构 分支结构 循环结构
2. 分支结构
- 单向分支
语法结构:
if (表达式) {
语句体;
}
执行流程:
首先判断表达式 如果表达式为真,那么执行大括号里面的语句ti;如果为假,跳过大括号里的继续往下执行;
- 双向分支
语法结构:
if (表达式) {
真区间;
} else {
假区间;
}
执行流程:
首先判断表达式是否为真,为真走真区间,如果表达式为假,走假区间
永远不会同时执行真区间的语句体和假区间的语句体
- 多向分支(巢状分支)
语法结构:
if (表达式1) {
语句体1;
} else if (表达式2) {
语句体2;
} else if (表达式3) {
语句体3;
} else {
语句体4;
}
执行流程:
首先判断表达式1 如果表达式1为真执行语句体1然后结束整个结构.若为假判断表达式2...如果所有的表达式都为假的时候,执行else
当所有的情况都做了判断,那么最后else 可以省略
一般用于区间判断
- 嵌套分支
5)switch...case (break,default)
用于确定值判断
语法结构:
switch (变量) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
default:
语句体4;
}
执行流程:
拿到这个变量值以后 进行case值的对比,如果匹配成功走对应case区间;然后比如break跳出switch结构 如果 case所有的对比都不匹配,走default
注:
基本上每个case 都有一个break 如果没有break,一直往下执行直到碰到break结束整个结构
case后边值可以是标量(最好不放浮点),常量来做比较
当所有的情况都罗列出来那么default可以不加
多个case可以执行同样的语句
3.循环结构
for
语法结构:
for (变量初始化; 循环条件; 计数条件) {
循环体;
}
执行流程:
进入for首先且执行一次变量初始化,然后判断循环条件是否满足,为真执行循环体;再执行计数条件-->继续判断循环条件,为真继续执行循环体,再执行计数条件,知道循环条件为假,那么结束整个循环
【注】:双层for循环
第一层控制行,第二层控制列
特点:灵活多变的
1.第一个表达式跟第三个表达式可以提出来,但是第一个要放上分号占位表示第二就是循环条件
2.循环提交可以省略 但是会出现死循环 这时候要用break
while
语法结构:
while (循环条件) {
循环体;
}
执行流程:
首先判断循环条件,如果为真执行循环体,为假no执行
[zhuyi]while非常容易写出死循环那么两种情况 第一加上计数条件 第二种break;
do..while
语法结构:
do {
循环体;
} while (循环条件);
执行流程:
首先进入的时候先执行一次do大括号里的循环体、然后再去while判断循环条件,如果为真执行do里的循环体,直到while条件为家终止循环
while 跟do..while区别
while:先判断再执行
do..while:先执行再判断 (至少执行一次)
goto:
直接跳到指定的标号处
echo '村长你的牙好亮啊<br />';
goto test;
echo '村长你的牙好亮啊<br />';
echo '村长你的牙好亮啊<br />';
echo '村长你的牙好亮啊<br />';
test:
echo '村长你的牙好亮啊<br />';
echo '村长你的牙好亮啊<br />';
(break continue)
break 用于结束循环,不管break后边有多少语句,碰到break立即结束循环
continue: 用于结束本次循环 不管后边有多少语句,都不执行,后进入下一次循环