代码执行的方向
1、控制分类:
-
顺序结构
代码从上往下,顺序执行(代码执行的最基本结构)
-
分支结构
给定一个条件,同时有多个可执行代码,然后根据条件执行某一块代码
-
循环结构
在某个条件控制范围内,指定的代码可以重复执行
2、顺序结构:
最基本结构,所有代码默认从上往下依次执行
3、分支结构:
主要有两种:if和switch
1、if分支
适用于所有的条件判断
基本语法:
-
最简if:只有一段代码,但是可以选择是否执行
1 if(条件表达式){ 2 //满足条件所要执行的内容;// //顺序执行 3 }
-
基础if:有两面性,满足条件和不满足条件,都有要执行的代码
1 if(条件表达式){ 2 //满足条件所要执行的内容;// //顺序执行 3 } 4 else{ 5 //不满足条件所要执行的内容;// //顺序执行 6 }
-
复杂if结构:在判断条件之后,通常就有两种结果,满足或不满足,在不满足之后,再次进行条件判断
1 if(条件表达式){ 2 //满足条件所要执行的内容;// //顺序执行 3 } 4 else if(条件表达式2){ 5 //不满足条件1,但满足条件2所要执行的内容;// //顺序执行 6 } 7 .... 8 else{ 9 //全不满足条件所要执行的内容;// 10 }
2、switch分支
switch分支:有一组情形存在,通过一个条件,通常有多个值(会出现多种情况),但是每一个值都会有对应不同的代码要执行。
switch判断方式;是将条件放到分支结构内部判断。
switch基本语法:
1 switch(条件表达式){ 2 //所有条件判断;逐个进行 3 case 值1: 4 要执行的代码段; 5 break;//如果条件匹配成功,则不会再进行其他的条件 6 case 值2: 7 要执行的代码段; 8 break; 9 ... 10 case 值n: 11 要执行的代码段; 12 break; 13 //可以使用类似else的语法:都不匹配 14 Default: 15 //匹配失败的代码;都不满足条件 16 Break; 17 }
4、循环结构:
代码段在一定的控制下,可以多次执行
循环结构有:
-
for循环:通过条件,起始和终止判断执行
-
while循环:通过判断条件终止
-
do-while循环:跟while差不多
-
foreach循环:专门针对数组
1、for循环
基本语法与示例:
1 for(条件表达式1;条件表达式2;条件表达式3){ 2 //条件表达式1:定义初始化条件,可以有多种赋值语句存在,使用逗号分隔即可 3 //条件表达式2:边界判断,限定循环执行的次数 4 //条件表达式3:用来执行条件变化(通常 是自操作) 5 } 6 7 示例: 8 <?php 9 for($i=1;$a<=10;$i++){ 10 echo $i; 11 } 12 ?> 13 //结果:1 2 3 4 5 6 7 8 9 10
执行原理:
-
执行条件表达式1:定义初始化条件(执行一次)
-
执行条件表达式2:判断条件(n次)
满足:执行循环体
不满足:退出循环
-
执行条件表达式3:循环变量变化(n次)
-
执行条件表达式2:判断条件(n次)
-
...
-
直到条件表达式2不满足条件
2、while循环
while首先进行条件判定,然后执行循环体
基本语法与示例:
1 条件初始化; 2 3 while(条件表达式){ 4 5 //条件表达式就是判断边界的条件 6 7 循环体; //循环条件的变化 8 9 } 10 11 示例: 12 <?php 13 $i=1 14 while($i<=10){ 15 echo $i++; 16 } 17 ?> 18 //结果:1 2 3 4 5 6 7 8 9 10
for与while选择:
-
如果是基于固定已知条件(数值而且是由规律的变化),使用for循环
-
while可以做灵活的条件判断
3、do-while循环
- 看着很想while,while首先进行条件判定,然后执行循环体,有可能出现第一次条件就不满足,则失败(循环体一次都不会执行)
- do-while是先干了再说(执行循环体),后判断条件(至少会执行一次循环体)
基本语法与示例:
1 do{ 2 //循环体 3 } 4 while(条件表达式); 5 6 示例: 7 <?php 8 $i=1; 9 do{ 10 //执行输出 11 if($i % 2 != 1){ 12 echo $i; 13 } 14 $i++; 15 } 16 while($i<=10); 17 ?> 18 //结果:2 4 6 8 10
4、循环控制:
在循环内部对循环本身进行控制
-
中断控制:重新开始循环,循环体种还有其他内容,也再执行
continue层级:默认是1(循环可以多层嵌套)
-
终止控制:循环直接结束
break层级:默认是1
1 示例1: 2 <?php 3 $i=1; 4 while($i<=100){ 5 if($i % 5!=0){ 6 $i++; 7 continue; //重新循环,进行判断 8 } 9 echo $i++; 10 } 11 ?> 12 //结果:5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 13 14 示例2: 15 <?php 16 $i=1; 17 while($i<=100){ 18 if($i % 5!=0){ 19 $i++; 20 break; //终止循环,跳出循环 21 } 22 echo $i++; 23 } 24 echo $i; 25 ?> 26 //结果:2
- 因为循环经常性会碰到嵌套(循环中间包含循环),如果在循环内部有些条件下,明确可以知道当前循环(或者说外部循环)不需要继续执行了,那么就是可以使用循环控制来实现
- 其中内部循环也可以控制到外部,就是通过使用层级参数
- continue:当前自己的循环后面的内部不再执行,同时外部循环如果还有循环体也不再执行
- break:当前自己循环结束,同时外部也结束(如果还有外部不受影响,继续执行)
分支和循环结构的替代语法
php本身是嵌入到html种的脚本语言,组要在html中书写一些关于判断或者循环的结构语法,必须符合php标签规范,需要在html与php进行混搭,如果使用原始的php代码那么会非常不美观
1 示例:打印99乘法表 2 <table border=1> 3 <?php for($i=1;$i<10;$i++){ ?> 4 <tr> 5 <?php for($j=1;$j<=$i;$j++){ ?> 6 <td> 7 <?php echo $i.'*'.$j.'='.$i*$j;?> 8 </td> 9 <?php }?> 10 </tr> 11 <?php }?> 12 </table> 13 14 替换:{-->: 15 16 }-->endfor; 17 18 示例: 19 <table border=1> 20 <?php for($i=1;$i<10;$i++): ?> 21 <tr> 22 <?php for($j=1;$j<=$i;$j++): ?> 23 <td> 24 <?php echo $i.'*'.$j.'='.$i*$j;?> 25 </td> 26 <?php endfor;?> 27 </tr> 28 <?php endfor;?> 29 </table>
PHP中具体有哪些替代语法呢?PHP应该在HTML中只做数据输出,输出通常伴有条件判断和循环操作,因此PHP提供了对应分支结构和循环结构的替代语法:全部都是对应的一个模式:
{ -->;
}-->end+对应的起始标记替代
-
if
-
switch
-
for
-
whilr
-
foreach