• 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;
    ?>
    
  • 相关阅读:
    jquery操作iframe
    KindEditor编辑器——在上传图片中选一张为焦点图片
    js查看浏览器类型和版本
    ASP.Net防止页面刷新重复提交
    js获取url参数
    sql游标简单试用
    jQuery跨域
    两款实用免积分下载工具,支持百度文库、豆丁网等
    Asp.Net 无法解析此远程名称"www.xxx.com"
    android中使用DisplayMetrics获取屏幕参数
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/13961995.html
Copyright © 2020-2023  润新知