流程控制
流程控制:代码执行的方向
控制分类:
- 顺序结构:代码从上往下,顺序执行。(代码执行的最基本结构)
- 分支结构:给定一个条件,同时有多种可执行代码(块),然后会根据条件执行某一段代码
- 循环结构:在某个条件控制范围内,指定的代码(块)可以重复执行
顺序结构
分支结构
if分支
switch分支
eg:
<?php
// 分支结构:switch分支
// 根据日期做不同的事情
$day = 1;
// 从1到7做不同的事
switch($day){
// $day条件一定是一个具体的值
case 1:
echo '1';
break;
case 2:
echo '2';
break;
default :
echo 'other';
break;
}
总结:
循环结构
for循环
eg:
<?php
// 循环结构:for循环
// 从1 到 10 输出:初时为1,结果为10
for($i=1; $i<11; $i++)
{
echo $i;
echo " ";
}
while 循环
while循环:
eg:
<?php
// while循环
// 定义条件
$i = 1;
// 循环判定执行
while($i <= 10){
// 循环体
echo $i, " ";
$i++;
}
do-while循环:
eg:
$i = 1;
// do-while 循环
do{
echo $i, " ";
$i++;
}while($i<11);
小总结:
循环控制
eg:
<?php
// 循环控制
// 需求:输出1到100之间5的倍数
//1.
$i = 1;
while($i<=100){
// 判断:是否是5的倍数
if ($i % 5 == 0){
echo $i, " ";
}
$i++;
}
echo "<hr/>";
// 2.
$i = 1;
while($i<=100){
// 判断:是否是5的倍数
if ($i % 5 != 0){ // 模5不等于0,说明此事的$i不满足条件,则中断执行
$i++;
continue;
}
// 如果上面的条件不符合,即没有进入上面的条件代码块,则说明$i时满足‘5的倍数’的
echo $i, " ";
$i++;
}
流程控制替代语法
eg:(打印99乘法表)
<!-- // 用表格的形式打印99乘法表 -->
<table>
<?php for($i = 1; $i<10; $i++){ ?>
<tr>
<?php for($j = 1; $j<=$i; $j++) {?>
<td> <?php echo $j, "*", $i, "=", $i*$j, " | "; ?></td>
<!-- echo $j, " * ", $i, "=", $i*$j, " "; -->
<?php }?>
</tr>
<?php }?>
</table>
eg:(还是上面那个打印99乘法表)
<!-- html中嵌套PHP,为了美观,采用官方提供的替代机制 -->
<table border=1>
<?php for($i = 1; $i<10; $i++): ?>
<tr>
<?php for($j = 1; $j<=$i; $j++) :?>
<!-- <td> /* <?php echo $j, "*", $i, "=", $i*$j, " | "; ?> */</td> -->
<td> <?php echo $j."*".$i, "=".$i*$j; ?></td>
<!-- echo $j, " * ", $i, "=", $i*$j, " "; -->
<?php endfor;?>
</tr>
<?php endfor;?>
</table>
php中有哪些替代语法呢?
!!后面技术的进一步进化:模板技术,就越来越简洁清楚了。(后面会讲)