日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php多分支结构 案例,第4天 PHP分支、循环结构

發(fā)布時間:2024/4/18 php 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php多分支结构 案例,第4天 PHP分支、循环结构 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

6. 流程控制

流程控制,就是研究程序的走向。

6.1. 流程控制概述

6.1.1. 三大流程結(jié)構(gòu):

順序結(jié)構(gòu):

程序運行的自然狀態(tài),就是從前往后(從上到下)運行程序。

分支結(jié)構(gòu):

程序運行過程中,根據(jù)判斷條件的不同結(jié)果(true或false),執(zhí)行不同的分支(其他分支不再執(zhí)行)。

循環(huán)結(jié)構(gòu):

程序運行過程中,根據(jù)判斷條件的不同結(jié)果(true或false),決定是再次執(zhí)行還是不再執(zhí)行。

6.1.2. 流程圖常用圖形符號:

6.2. if語句

有如下幾種常見的if語句(不同的分支數(shù)量):

6.2.1. 形式1:單分支

形式:

if ( 條件判斷 ){

//如果條件滿足,就執(zhí)行這里

}

流程圖:

image.png

6.2.2. 形式2:雙分支

形式:

if ( 條件判斷 ){

//如果條件滿足,就執(zhí)行這里

}

else{

//如果條件不滿足,就執(zhí)行這里

}

流程圖:

image.png

image.png

6.2.3. 形式3:多分枝

形式:

if ( 條件判斷1 ){

//分支1;

}

elseif( 條件判斷2 ){

//分支2;

}

elseif( 條件判斷3 ){

//分支3;

}

。。。。。。。前面的elseif分支,可以若干個(0個以上)

else{

//最后的else分支,可以沒有!

}

流程圖:

image.png

image.png

綜合案例:

在一個form表單中輸入一個分數(shù)(0-100之間),程序可以給該分數(shù)進行“評語”,評語包括:

優(yōu)秀,良好,中等,及格,不及格。

6.3. 分支結(jié)構(gòu)之switch分支語句(重點)

語法:

switch( 一個變量數(shù)據(jù)或表達式結(jié)果$v1 ){

case 值1: //如果$v1 等于 這個“值1”,就執(zhí)行本分支

分支語句1;

break; //表示跳出該分支,也就是跳出switch語句。

case 值2: //如果$v1 等于 這個“值2”,就執(zhí)行本分支

分支語句2;

break;

。。。。。。 //可以更多的分支

default:

默認分支; //前面都不滿足的時候,就執(zhí)行這里

}

說明:

1,上述“值1,值2,。。。”可以是各種標量類型,也可以是表達式——因為最終它也是一個值。

2,用于進行測試的數(shù)據(jù)變量$v1跟后續(xù)的各個值,只能進行“相等比較”(==)。

3,從上述第2條角度來說,其實際上不如if靈活。

注意:

當某個分支滿足條件并執(zhí)行該分支后,如果該分支中沒有break語句,此時,程序的流程會“直接進入”后一個分支繼續(xù)執(zhí)行,直到碰到break才會結(jié)束switch。

流程圖:

image.png

示例:

image.png

無break終止時:

image.png

案例1:

使用switch實現(xiàn)

把成績進行分檔:60分以下:不及格;60-69:及格; 70-79:中等;80-89:良好;90-99:優(yōu)秀;100:滿分

案例2:

輸入任意的年份和月份,輸出該月的天數(shù),例如:輸入year:2019 month:7,輸出該月的天數(shù)是31天

思路:天數(shù)是根據(jù)月份來決定,正常的是:1,3,5,7,8,10,12都是31天,4,6,9,11都是30天,唯一不同的是:

2月,如果是閏年是29天,非閏年則為28天。

/*

輸入任意的年份和月份,輸出該月的天數(shù),例如:輸入year:2019 month:7,輸出該月的天數(shù)是31天

思路:天數(shù)是根據(jù)月份來決定,正常的是:1,3,5,7,8,10,12都是31天,4,6,9,11都是30天,唯一不同的是:

2月,如果是閏年是29天,非閏年則為28天。

*/

$year=2000;

$month=2;

switch ($month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

echo "31天";

break;

case 4:

case 6:

case 9:

case 11:

echo "30天";

break;

case 2:

if($year%4==0&&$year%100!=0 || $year%400==0){

echo "29天";

}else{

echo "28天";

}

break;

default:

echo "非法的月份";

break;

}

6.4. 循環(huán)結(jié)構(gòu)之while循環(huán)語句

循環(huán)的含義:就是通過某種語法結(jié)構(gòu),對某段代碼可以“反復(fù)執(zhí)行”。

while循環(huán)語法:

**初始化數(shù)據(jù)**

while(條件判斷){

。。。。循環(huán)體語句;

循環(huán)控制;

}

說明:

循環(huán)一開始就進行條件判斷:

如果成立:則執(zhí)行循環(huán)體,而后會自動回到循環(huán)開始位置繼續(xù)進行條件判斷,如此反復(fù);

如果不成立:則退出循環(huán),執(zhí)行后續(xù)語句。

流程圖:

image.png

案例1:

1)輸出1-10;

image.png

2)求1-10的和;

image.png

案例2:

求7到17的和。

image.png

案例3:

1、輸出1-100之間既能被3整除,也能被6整除的數(shù)

image.png

2、一張紙的厚度是2mm,問:折疊多少次后能夠達到珠峰的高度(8848米)

image.png

6.5. 循環(huán)結(jié)構(gòu)之do while循環(huán)語句

**do while循環(huán)語法:**

** 初始化數(shù)據(jù)**

do {

。。。。循環(huán)體語句;

循環(huán)控制;

}while(條件判斷);

說明:

先執(zhí)行一次循環(huán)體,然后進行條件判斷:

如果成立:則繼續(xù)回去執(zhí)行循環(huán)體,而后再次進行條件判斷,如此反復(fù);

如果不成立:則退出循環(huán),執(zhí)行后續(xù)語句。

流程圖:

image.png

image.png

案例:

求7到177之間能被7整除的數(shù)的和。

image.png

6.6. 循環(huán)結(jié)構(gòu)之for循環(huán)語句(重點/難點)

for循環(huán)語法:

for(循環(huán)變量初始化1; 循環(huán)條件判斷2; 循環(huán)變量的改變3){

。。。。。。。。循環(huán)體語句塊4;

//這里可以有多條語句

//是可以反復(fù)執(zhí)行的部分

}

說明:

1,執(zhí)行流程如下圖所示

image.png

2,此語句結(jié)構(gòu)是將循環(huán)的3個要素都集中在一起寫的形式,比較緊湊,容易控制,最常用。

3,循環(huán)變量初始化語句1只執(zhí)行一次,所以真正的正常循環(huán),是在“2->4->3”之間進行。

典型流程圖:

image.png

案例1:

求1-100之間能被7整除的數(shù)的和。

image.png

案例****2:

輸出1-100之間能被3整除但不能被5整除的偶數(shù)。

image.png

案例3:

輸出1-100之間的數(shù),并且要求:

能被3整除的使用“三”代替,能被5整除的使用“五”代替,能同時被兩者整除的用“三五”代替。

image.png

6.7. 循環(huán)的中斷

循環(huán)是按給定的條件,只要條件滿足就會繼續(xù)執(zhí)行循環(huán)體的一種語法形式。

但,我們也可以在循環(huán)過程中(循環(huán)體內(nèi)),人為將循環(huán)中斷。

有兩種中斷循環(huán)的方式:

continue中斷:

含義:中斷當前正在進行的循環(huán)體(即后續(xù)語句不再執(zhí)行),繼續(xù)下一次循環(huán)要執(zhí)行的語句。

語法形式:

continue [$n]; //表示是要中斷第幾層的循環(huán),繼續(xù)該層循環(huán)的下一次。

//其中$n可以省略,如果省略,表示1,就是中斷當前層的循環(huán)。

break中斷:

含義:停止(跳出)當前正在進行的循環(huán)(即完全終止循環(huán)),去執(zhí)行該循環(huán)之后的語句。

語法形式:

break [$n]; //表示是要中斷幾層循環(huán)。

//其中$n可以省略,如果省略,表示1,就是中斷當前循環(huán)

他們都適用于3種循環(huán)。

案例演示:

1、輸出1-10的數(shù),除了5不輸出,其他都輸出出來。

image.png

image.png

2、從1-10(含1和10)進行循環(huán)并輸出該數(shù)字,并要求能被3整除就不輸出,能被9整除就終止循環(huán)。

最后再輸出循環(huán)變量的值。

image.png

while和for的區(qū)別:

1、能用for解決的,while基本能解決;

2、for一般用于知道循環(huán)次數(shù)的場景,while循環(huán)一般用于不知道循環(huán)次數(shù)的場景

6.8. 多重循環(huán)及案例

概念:

多重循環(huán)就是循環(huán)里面由出現(xiàn)循環(huán)的代碼。

其基本執(zhí)行流程,其實仍然是循環(huán)的基本邏輯,只是循環(huán)的時候要注意:外層循環(huán)執(zhí)行每一次,里層循環(huán)就會完整執(zhí)行循環(huán)的“所有次”(一個完整循環(huán)的過程)。

案例****1:

image.png

輸出如下形式的數(shù)字到頁面上:

1 2 3 4 5 6 7 8

2 2 3 4 5 6 7 8

3 2 3 4 5 6 7 8

4 2 3 4 5 6 7 8

image.png

1

2

3

4

5

1

2

3

4

5

1

2

3

4

5

1

2

3

4

5

image.png

image.png

案例****2:

輸出如下表格:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

方法一:

image.png

方法二:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

image.png

案例3:

實現(xiàn)如下所示99乘法口訣表。

image.png

image.png

案例4:

有紅、白、黑三種球若干個,其中紅、白球共25個,白、黑球共31個,紅、黑球共28個,求這三種球各多少個?

課間案例:

公雞5元一只,母雞3元一只,小雞1元3只,100元買了100只雞,問各多少?

image.png

總結(jié)

以上是生活随笔為你收集整理的php多分支结构 案例,第4天 PHP分支、循环结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。