<?php
*
* PHP流程控制
*
一、顺序结构
二、分支结构--条件结构--选择结构
1. 单路分支
* //条件bool, true或false, > < == != & || ! isset()
* if(条件)
* 执行下面一条语句
*
* if(条件)
* {
* 代码段;
* 代码段;
* }
*
$a=10;
$b=50;
if($a > $b){
echo "$a 大于 $b<br>";
}else{
echo "$a 小于 $b <br>";
}
echo "############<br>";
$a=100;
$b=50;
if($a < $b){
$t=$a;
$a=$b;
$b=$t;
}
var_dump($a > $b);
2. 双路分支
* 使用else从句
*
* if(条件)
* 执行一条语句
* else
* 执行一条语句
*
* if(条件){
* 一条或多条代码
* }else{
* 一条或多条代码
* }
*
3. 多路分支
* 可以使用 if else if 和 switch case
* //这是一种互斥的关系。
* if(条件){
*
* }elseif(条件){
*
* }elseif(条件){
*
* }else if(条件){
*
* }else{
*
* }
*
echo "<br>--------------------------------<br>";
$hour=date("H"); //获取系统小时时间
echo "hour = $hour <br>";
if($hour > 6 && $hour <= 9){
echo "早上好";
}else if($hour > 9 && $hour <= 12){
echo "上午好";
}else if($hour > 12 && $hour <= 14){
echo "中午好";
}else if($hour > 14 && $hour <= 17){
echo "下午好";
}else if($hour > 17 && $hour <= 19){
echo "傍晚好";
}else if($hour > 19 && $hour <= 22){
echo "晚上好";
}else{
echo "夜里好";
}
echo "<br>--------------------------------<br>";
$hour=date("H"); //11 互斥
echo "hour = $hour <br>";
if($hour < 6){
echo "凌晨好";
}elseif($hour < 9){
echo "早上好";
}elseif($hour < 12){
echo "上午好";
}elseif($hour < 14){
echo "中午好";
}elseif( $hour < 17){
echo "下午好";
}elseif($hour < 19){
echo "傍晚好";
}elseif($hour < 22){
echo "晚上好";
}else{
echo "夜里好";
}
echo "<br>--------------------------------<br>";
* switch(变量){
* case 值:
* 代码;
* break;
* case 值1:
* 代码;
* break;
* default:
* 代码;
*
* }
* 如果是判断一段范围我们使用elseif
* 如果是单个值匹配我们使用switch
*
* *
*
echo "<br>--------------------------------<br>";
$week=date("D");
//$week=111;
//swinch(变量) 变量只用整型和字符串
//如果变量没有匹配的值则执行default中的区域,需要就可以加上
//break 是退出switch, 用来设置多个值匹配执行同一段代码
switch($week)
{
case 1:
case 11:
case 111:
case 1111:
case 11111:
echo "111111111111<br>";
break;
case "Mon":
echo "星期一";
break;
case "Tue":
echo "星期二";
break;
case "Wed":
echo "星期三";
break;
case "Thu":
echo "星期四";
break;
case "Fri":
echo "星期五";
break;
default:
echo "周末";
}
echo "<br>--------------------------------<br>";
* 4. 嵌套分支
* if(){
* if(){
*
* }else{
* if(){
*
* }
* }
* }else{
* if(){
*
* }else{
* swicth(){
*
* }
* }
* }
*
$sex=$_GET["sex"];
$age=$_GET["age"];
if($sex=="nan")
{
if($age >= 60)
{
echo "这个男士已经退休".($age-60)."年了";
}else{
echo "这个男士还在工作,还有".(60-$age)."年才退休<br>";
}
}
else
{
if($age >= 66)
{
echo "这个女士已经退休".($age-55)."年了";
}else{
echo "这个女士还在工作,还有".(55-$age)."年才退休<br>";
}
}
三、循环结构
* 根据循环条不同有两种类型的循环
* 一种:计数循环 for
* 另一种:条件型循环 while do-while
几个和循环有关的语句
* break; continue; exit; return;
*
一、while循环
* if(表达式)
* 只一次语句
*
* while(表达式)
* 反复执行一条语句;
*
* while(表达式){
* 反复执行这个循环体
* }
*
* while是先判断条件,成立则执行
echo "<br>--------------------------------<br>";
$num=0;
while($num<100){
echo "这是执行第 {$num} 次输出的结果<br>";
$num++;
}
echo "<br>--------------------------------<br>";
echo "<br>--------------------------------<br>";
echo '<table border="1" width="800" align="center">';
echo '<caption><h1>使用一个while循环输出的表格</h1></caption>';
$i=0;
while($i<1000)
{
if($i==0)
{
if($i ==0){
$bg="#ffffff";
}else{
$bg="#cccccc";
}
echo '<tr onmouseover="lrow(this)" onmouseout="drow(this)" bgColor="'.$bg.'">';
}
echo '<td>'.$i.'</td>';
$i++;
if($i==0){
echo '</tr>';
}
}
echo '</table>';
echo "<br>--------------------------------<br>";
二、do-while循环
*
* do-while是先执行再判断条件
*
echo "<br>--------------------------------<br>";
$i=0;
do{
echo "$i : this is do---while <br>";
$i++;
}while($i<10);
echo "<br>--------------------------------<br>";
$i=0;
while($i<10){
echo "$i: this is while <br>";
$i++;
}
echo "<br>--------------------------------<br>";
三、for 循环
*
* for(初使化;条件表达式;增量){
* 循环体
* }
*
echo "<br>--------------------------------<br>";
for($i=0;$i<10;$i++){
echo "这是第 $i 次循环执行的结果<br>";
}
echo "<br>--------------------------------<br>";
$i=0;
for(;;)
{
if($i>=10)
break;
echo "这是第 $i 次循环执行的结果<br>";
$i++;
}
echo "<br>--------------------------------<br>";
for($i=1; $i<=9; $i++){
for($j=1; $j<=$i; $j++){
echo "$j x $i = ".$j*$i." ";
}
}
echo '<br>';
echo "<br>--------------------------------<br>";
for($i=0; $i<100; $i++){
if($i==50)
break;
echo "$i ###################<br>";
}
echo "<br>--------------------------------<br>";
for($i=0; $i<100; $i++){
if($i%3==0)
continue;
echo "$i ###################<br>";
}
echo "<br>--------------------------------<br>";
$i=0;
while($i<5){
$i++;
if($i==3)
continue;
echo "###############<br>";
}
?>
script脚本
<script>
var ys=null; //全局变量
function lrow(obj){
ys=obj.bgColor; //存储上一状态
obj.bgColor='red';
}
function drow(obj){
obj.bgColor=ys; //还原上一状态
}
</script>