php基礎知識6-流程控制

php是一門計算機編程語言,主要應用於開發web應用(網站建設等),本系列博客從php基礎語法出發,介紹php基礎知識。使讀者深刻淺出的學習到編程的樂趣。php

本系列博客將講解如下9個知識點,變量、常量、數據類型、運算符、數組、流程控制(順序、選擇、循環)、函數、文件處理、面向對象git

每篇文章都會在文末留下一個課後做業,答案獲取請私聊我,你們能夠在評論區積極討論,共同進步github

流程控制

概念

流程其實就是控制決定代碼的執行順序,在實際編程中,莫過於順序、選擇、循環這三種場景,咱們將這三種場景學會後,就能夠讀懂大多數的代碼。web

對於初學者而言,流程控制是一大難點。可是倒是不可缺乏的一部分。咱們要認真的學習它。編程

順序結構

順序結構顧名思義是順序執行的,換句話來講代碼從上往下依次執行,不會跳過中間的某一行代碼。平時編程大多數代碼都是順序結構。數組

選擇結構

選擇結構有點像高中數學裏學習的程序框圖裏面的分支結構,也就是說知足條件則這段代碼,不知足條件則執行另外一段代碼。同時也能夠嵌套其餘的語句。php 裏面主要是以if...else...、switch...case...等爲主。微信

if...else...
若是if後面的表達式成立則執行第一個大括號的語句,不然執行第二個大括號的語句。編程語言

<?php
/**
 * Created by 冷月小白.
 * 微信公衆號: 學長冷月
 */
if (2>1) {
    echo "2大於1";
} else {
    echo "2不大於1";
}

執行結果:
流程控制函數

if...elseif...else
若是if後面的表達式成立則執行第一個大括號的語句,而後判斷elseif的語句是否成立,若成立則執行第二個大括號的語句,不然執行第三個大括號的語句。而且能夠繼續嵌套。學習

<?php
/**
 * Created by 冷月小白.
 * 微信公衆號: 學長冷月
 */
if (2 > 1) {
    echo "2大於1";
} elseif (1 > 0) {
    echo "1大於0";
} else {
    echo "1不大於0";
}

執行結果:
流程控制

switch...case...
根據switch後面的大括號的值進行 每個case塊的匹配,匹配成功則執行相應的大括號的語句。

注:
每個case塊最後必須加上break; 不然一旦匹配成功,將會將後面的全部代碼執行,包括其餘case塊的代碼。

<?php
/**
 * Created by 冷月小白.
 * 微信公衆號: 學長冷月
 */
$month = 4;
switch ($month)
{
    case 1:
        echo "1月";
        break;
    case 2:
        echo "2月";
        break;
    case 3:
        echo "3月";
        break;
    case 4:
        echo "4月";
        break;
    case 5:
        echo "5月";
        break;
    case 6:
        echo "6月";
        break;
    case 7:
        echo "7月";
        break;
    case 8:
        echo "8月";
        break;
    case 9:
        echo "9月";
        break;
    case 10:
        echo "10月";
        break;
    case 11:
        echo "11月";
        break;
    case 12:
        echo "12月";
        break;
}

執行結果:
流程控制

循環結構

若是有業務場景是須要重複執行一段代碼,則循環結構是二不之選。

for

for循環格式:for(表達式1;表達式2;表達式3){代碼塊}

表達式1給控制變量賦初值,表達式2爲設置跳出條件,表達式3爲步長。

<?php
/**
 * Created by 冷月小白.
 * 微信公衆號: 學長冷月
 */

for ($i = 0; $i < 10; $i++) {
    printf("我要買{$i}杯牛奶");
    echo "<br />";
}

執行結果:
流程控制
while

while循環格式:while(表達式){代碼塊}
若是while的條件爲永真,則會一直執行,陷入死循環;若是爲永假,則一次也不執行。

<?php
/**
 * Created by 冷月小白.
 * 微信公衆號: 學長冷月
 */

$i = 0;
while ($i<10)
{
    printf("我要買{$i}杯牛奶");
    echo "<br />";
    $i++;
}

執行結果:
流程控制
do .. while

do..while循環格式:do{代碼塊}while(表達式)
若是while的條件爲永真,則會一直執行,陷入死循環;若是爲永假,則也會執行一次。

<?php
/**
 * Created by 冷月小白.
 * 微信公衆號: 學長冷月
 */

$i = 10; //給$i 賦初值爲10
do {
    printf("我要買{$i}杯牛奶");
    echo "<br />";
    $i++; 
} while ($i < 10); //$i不小於10 條件爲假

執行結果:

流程控制

代碼實操

業務場景:小明期末考試不及格,回到家後,若是首先告訴爸爸則會被打10下手掌;若是首先告訴媽媽則會被罰跑5圈步。請用合適的代碼表示出來。

<?php
/**
 * Created by 冷月小白.
 * 微信公衆號: 學長冷月
 */
$i = 1; //用1表明告訴爸爸
switch ($i) {
    case 1: //用1表明告訴爸爸
        for ($j = 1; $j <= 10; $j++) {
            printf("被打的第{$j}下手掌");
            echo "<br />";
        }
        break;
    case 2: //用2表明告訴媽媽
        for ($j = 1; $j <= 5; $j++) {
            printf("被罰跑的第{$j}圈");
            echo "<br />";
        }
        break;
}

執行結果:
流程控制

課後練習

一、while 和do...while的區別

二、業務場景:小明期末考試考了68分,以前和爸爸約定只要誠實的說出分數,則不管如何均可以去一次遊樂園以後每多10分就能夠多去一次,請用合適的代碼表示出來。

課後練習答案,經過微信搜一搜「 學長冷月 」回覆 php獲取
文章持續更新,本文 GitHub https://github.com/lengyueit/phpFamily 已收錄,歡迎Star。

若是這篇博文有幫助到您,能夠幫冷月點一個贊或者加一個關注哦!

相關文章
相關標籤/搜索