流程控制
顺序结构:代码从上往下,顺序执行
分支结构:给定一个条件,同时有多种可执行代码,然后会根据条件执行某一段代码
循环结构:在某一个条件控制范围内,指定的代码,可以重复执行
语法:
if(布尔表达式){
条件满足时执行
}else if(布尔表达式){
条件不满足时执行
}else if(布尔表达式){
条件不满足时执行
}......
}else{条件都不满足时执行}
return: 退出
break : 跳出
intval() 小数变整数
if($a > 90){
return '优秀';
}elseif ($a > 80){
return '良好';
}elseif ($a > 70){
return '好';
}elseif ($a > 60){
return '及格';
}else{
return '不及格';
}
switch:
语法:
switch (条件表达式)
{ case 值:
要执行的代码段;
return '返回的内容'; // 表示结束这段代码,返回内容
case 值:
要执行的代码段;
return '返回的内容';
default:
匹配失败 要执行的代码段;
return '返回的内容';
}
switch (intval($a/10)){
case 10:
case 9:
return '>90';
case 8:
return '>=80';
case 7:
return '>=70';
case 6:
return '及格';
default:
return '小老弟怎么回事,不及格哟!';
}
-------------------------------------------------------
循环
for 循环
for(条件表达式1;条件表达式2;条件表达式3){
//条件表达式1:定义初始化条件,可以有多种赋值语句存在,使用逗号分隔
//条件表达式2:边界判定,限定循环执行的次数
//条件表达式3:执行条件变化
循环体
}
原理:
1.执行条件表达式1:定义处刷条件(执行一次)
2.执行条件表达式2:判断条件(N次)
满足条件,执行循环体
不满足条件,循环结束
3.执行循环体N次
4.执行条件表达式3:循环变量变化N次
5.执行条件表达式2:判断条件N次
6.重复执行 3-4-2步骤:直到第2步不满足条件结束循环
(吐槽...... 跟Java一样(新萌不敢多说什么))
for ($i = 0;$i<100;$i++){
echo '$i';
}
while 循环
语法:
条件初始化;
while(条件表达式){
//条件表达式就是判断边界条件
循环体; // 循环条件的变化
}
continue 跳出当前循环
$w = 0;
while ($w<100){
echo '$w';
$w++;
}
$d = 0;
do{
echo '$d';
}while($d<100);
-------------------------------------------------------------
循环结构
中断控制:重新开始循环,循环体中还有其他内容,也再执行
continue 层级;// 默认是1
终止控制:循环直接结束
break 层级; // 默认是1
---------------------------------------------
流程控制替代
for(){ --> for(;;):
} --> endfor;
<table border=1> <?php for($i = 1;$i < 10;$i++): ?> <tr> <?php for($j = 1;$j <= $i;$j++): ?> <tb> <?php echo $i.' * '.$j. ' = '.$i * $j; ?> </tb> <?php endfor; ?> </tr> <?php endfor; ?> </table>
php t提供了对应的值结构和循环结构的替代语法:全部都是对应的一个模式:
左大括号使用冒号替代
右大括号使用 end+对应的起始标记替代
----------------------------------------------
do - while 循环循环和 while 循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和一般的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在一般的 while 循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为 FALSE 则整个循环立即终止)。
<?php $i = 0; do { echo $i; } while ($i > 0); ?>
-----------------------------------------
foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法
foreach (array as $value) statement foreach (array as $key => $value) statement
-
第一种格式遍历给定的 array 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步。
-
第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。
改变元素的值
在 foreach 中有两种方式改变元素的值
- 在 $value 之前加上
&
来修改数组的元素。 - 通过 $key 重新赋值。