php基础知识6-流程控制

php是一门计算机编程语言,主要应用于开发web应用(网站建设等),本系列博客从php基础语法出发,介绍php基础知识。使读者深入浅出的学习到编程的乐趣。

本系列博客将讲解以下9个知识点,变量、常量、数据类型、运算符、数组、流程控制(顺序、选择、循环)、函数、文件处理、面向对象

每篇文章都会在文末留下一个课后作业,答案获取请私聊我,大家可以在评论区积极讨论,共同进步

流程控制

概念

流程其实就是控制决定代码的执行顺序,在实际编程中,莫过于顺序、选择、循环这三种场景,我们将这三种场景学会后,就可以读懂大多数的代码。

对于初学者而言,流程控制是一大难点。但是却是不可缺少的一部分。我们要认真的学习它。

顺序结构

顺序结构顾名思义是顺序执行的,换句话来说代码从上往下依次执行,不会跳过中间的某一行代码。平时编程大多数代码都是顺序结构。

选择结构

选择结构有点像高中数学里学习的程序框图里面的分支结构,也就是说满足条件则这段代码,不满足条件则执行另一段代码。同时也可以嵌套其他的语句。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;
}

执行结果:


流程控制

课后练习

1、while 和do...while的区别

2、业务场景:小明期末考试考了68分,之前和爸爸约定只要诚实的说出分数,则无论如何都可以去一次游乐园之后每多10分就可以多去一次,请用合适的代码表示出来。

课后练习答案,通过微信搜一搜「 学长冷月 」回复php获取
文章持续更新,本文 GitHub https://github.com/lengyueit/phpFamily 已收录,欢迎Star。

如果这篇博文有帮助到您,可以帮冷月点一个赞或者加一个关注哦!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容