zoukankan      html  css  js  c++  java
  • PHP基础之流程控制语句

    流程控制语句

    选择结构语句

    单分支判断

    <?php
      if(条件){
          
      }
    ?>
    

    双分支判断

    <?php
      if(条件){
          //代码块1
      }else{
          //代码块2
      }
    ?>
    

    多分支判断

    <?php
      if(条件){
          //代码块1
      }elseif(条件){    
          //注意:elseif之间没有空格
          //代码块2
      }else{
          //代码块3
      }
    ?>
    

    多路选择

    <?php
      switch(表达式){
        case 常量:
            //代码块
            break;
        case 常量:
            //代码块
            break;
        default:
          //代码块
      }
    ?>
    

    案例:判断闰年

    • 案例:判断闰年
      • $_POST 是一个变量,用来保存post提交的数据
      • action='' 表示将数据提到本页面
      • is_numeric() 判断变量是否是数字或字符串数字
      • is_integer() 判断变量是否是整型
      • if else 后面如果只是一句代码,大括号可以省略
      • input 中,name value 为数据传输的键值对
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>判断是否为闰年</title>
    </head>
    <body>
    <?php
    if(!empty($_POST)){
        // var_dump($_POST);
        $year= $_POST['year'];
        if($year== ''){
            echo '您没有输入年份';
        }else{
            if(is_numeric($year)){
                $year+= 0;
                if(is_integer($year) && $year> 1){
                    if($year% 4== 0&& $year% 100!= 0|| $year%400== 0) echo "{$year}是闰年";
                    else echo "{$year}是平年";
                }else{
                    echo '您输入的年份有误';
                }
            }else{
                echo '您输入的不是数字';
            }
        }
    }
    ?>
    <form method="post" action="">
    	请输入年份: <input type="text" name="year"> <br />
    	<input type="submit" name="button" value="判断闰年">
    </form>
    </body>
    </html>
    

    案例:成绩评级

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>成绩评级</title>
    </head>
    <body>
    <?php
    if(isset($_POST)){
        // var_dump($_POST);
        $ch= $_POST['ch'];
        $math= $_POST['math'];
        if($ch== ''|| !is_numeric($ch)|| $ch<= 0|| $ch>= 100){
            echo "请输入有效的语文成绩<br>";
        }elseif($math== ''|| !is_numeric($math)|| $math<= 0|| $math>= 100){
            echo "请输入有效的数学成绩<br>";
        }else{
            $avg= ($ch+ $math)/ 2;
            echo "语文成绩:{$ch}<br>";
            echo "数学成绩:{$math}<br>";
            echo "平均成绩:{$avg}<br>";
            switch($avg){
                case $avg>= 90:
                    echo "成绩评定:A";
                    break;
                case $avg>= 80:
                    echo "成绩评定:B";
                    break;
                case $avg>= 70:
                    echo "成绩评定:C";
                    break;
                case $avg>= 60:
                    echo "成绩评定:D";
                    break;
                default:
                    echo "成绩评定:E";
            }
        }
    }
    ?>
    <form method="post" action="">
      语文: <input type="text" name="ch"> <br />
      数学: <input type="text" name="math"> <br />
    	<input type="submit" name="button" value="成绩评级">
    </form>
    </body>
    </html>
    

    案例:更改颜色

    • 案例:更改颜色
      • 字符串界定符 <<<
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>成绩评级</title>
    </head>
    <body>
    <?php
    if(isset($_POST['button'])) {
    	switch($_POST['color']){
    		case '1':
    			$color='#FF0000';	//红色
    			break;
    		case '2':
    			$color='#009900';	// 绿色
    			break;
    		case '3':
    			$color='#0000FF';	//蓝色
    			break;
    		default:
    			$color='#000000';	//黑色
    	}
    	echo <<<str
    	<script type="text/javascript">
    	window.onload=function(){
    		document.getElementById('shi').style.color='$color';
    	}
    	</script>
    str;
    }
    ?>
    <div id="shi">
        锄禾日当午, <br />
        汗滴禾下土。 <br />	
        谁知盘中餐, <br />	
        粒粒皆辛苦。 <br />
    </div>
    <form method="post" action="">
    	<select name="color">
    		<option value="0">请选择颜色</option>
    		<option value="1">红色</option>
    		<option value="2">绿色</option>
    		<option value="3">蓝色</option>
    	</select>
    	<input type="submit" name="button" value="更改颜色">
    </form>
    </body>
    </html>
    

    循环结构语句

    for循环

    for(初始值;条件;增量){
    	//循环体
    }
    

    while循环

    while(条件){
      // 循环体
    }
    

    do-while循环

    do{
      // 循环体
    }while(条件)
    

    多语句表达式

    • 多语句表达式
      • 初始值、增量可以写多个表达式
      • 条件一般只写一个,如果条件写多个,只是最后一个条件起作用
    <?php
      for($i=1,$j=9;$i<=$j;$i++,$j--){
        echo "10可以分成:{$i}和{$j}<br>";
      }
    ?>
    

    双重循环

    <?php
      for($i=1; $i<=9; $i++){
        for($j=1; $j<=$i; $j++){
          $val= $i* $j;
          echo "{$i}*{$j}={$val}&nbsp;";
        }
        echo "<br>";
      }
    ?>
    

    foreach

    • foreach
      • foreach循环是用来遍历数组
    foreach(数组 as 值){
      // 循环体
    }
    
    foreach(数组 as 键=>值){
      // 循环体
    }
    
    <?php
        $stu= ['Sunny', 'Tomy', 'Jerry'];
        foreach($stu as $v){
            echo "{$v}<br>";
        }
        foreach($stu as $k=>$v){
            echo "{$k}-{$v}<br>";
        }
    ?>
    

    跳转语句

    中断循环 break

    <?php
    for($i=1; $i<=10; $i++) {
    	if($i==5)
    		break;  //中断循环
    	echo "{$i}<br>";
    }
    ?>
    

    中断当前循环,进入下一个循环 continue

    <?php
    for($i=1; $i<=10; $i++) {
    	if($i==5)
    		continue;  //跳出5,进入6循环
    	echo "{$i}<br>";
    }
    ?>
    

    中断多重循环

    • 中断多重循环
      • break和continue默认中断、跳出1重循环
      • 如果需要中断、跳出多重循环,在后面加一个数字
    <?php
    for($i=1; $i<=10; $i++) {
    	for($j=1;$j<=$i;$j++){
    		echo $j.'&nbsp;';
    		if($j==5){
    			break 2;   //中断2重循环
    		}
    	}	
    	echo '<br>';
    }
    
    <?php
    for($i=1; $i<=10; $i++) {
    	switch($i){
    		case 5:
    			break 2;
    	}
    	echo $i,'<br>';
    }
    ?>
    

    替代语法

    • 替代语法
      • php中除了do-while以外,其他的语法结构都有替代语法
      • 规则:左大括号变冒号,右大括号变endXXX

    if替代语法

        if():
    
        elseif():
    
        else:
    
        endif;
    

    switch替代语法

      switch():
    
      endswitch;
    

    for替代语法

        for():
    
        endfor;
    

    while替代语法

        while():
    
        endwhile;
    

    foreach替代语法

        foreach():
    
        endforeach;
    
    <?php
    for($i=1;$i<=10;$i++):
    	if($i%2==0):
    ?>
            <?php echo $i;?>:数据输出<br>
    <?php
    	endif;
    endfor;
    ?>
    

    证明:else if之间如果有空格是嵌套if语句

    <?php
    $score=80;
    if($score>=90):
    	echo 'A';
    elseif($score>=80):    //elseif之间没有空格,如果有空格是嵌套if语句
    	echo 'B';
    else:
    	echo 'C';
    endif;
    ?>
    
    <?php
    $score=80;
    if($score>=90):
    	echo 'A';
    else:
    	if($score>=80):
    		echo 'B';
    	else:
    		echo 'C';
    	endif;
    endif;
    ?>
    
  • 相关阅读:
    052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序
    051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1
    050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句
    049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句
    048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和
    047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用
    046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项
    045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围
    剑指OFFER----面试题04.二维数组中的查找
    剑指OFFER----面试题03. 数组中重复的数字
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/13961995.html
Copyright © 2011-2022 走看看