您的位置 首页 php

PHP基础学习3.三大流程控制结构

众所周知,三大流程控制结构是编程逻辑中必须而且常用的代码书写思路。而自古以来,中国往往是对三情有独钟,什么三清,三顾茅庐,三人成虎,三寸不烂之舌,三生有幸,三足鼎立,三人行,必有我师焉,还有什么三更半夜,三妻四妾……(画风不对,有点偏……)

言归正传,三大流程控制结构,很多人都知道其中的 循环结构 和分支结构,总觉得少了点什么,其实就是最自然,最真实的顺序结构,顺序结构因为太符合人类思维逻辑,于是容易被忽略。而我认为,顺序结构在一定程度上影响甚至衍生出了面向过程,因为这一切是过程化的,是顺其自然的,从上而下的,当然goto就不算了,那是万恶之源!接下来我们就来看看这三种结构。

  1. 顺序结构

这是最平常的结构,比如用户中心展示用户信息的代码逻辑。开头判断是否登录,如果登录,获取用户登录身份uid,然后根据uid从数据库或者文件或者其他接口中获取用户信息,之后展示到模板,或者说返回给请求方(针对API开发而言)。

用代码表现下来就是这样

顺序结构获取用户信息并加载模板展示

这是很自然的,一步步的顺序结构展示用户信息,就像小时候学习的造句一样,我先XXX,再XXXX,最后XXX。

而计算机语言也是能通过代码理解到人类要求它执行顺序结构,自上而下,顺序执行。

2.分支结构

分支结构是编程世界中令人称道的,它的出现解决了真正实际业务中遇到的问题,因为会出现太多的可能,太多的未知情况,我们熟知的结构有

if elseif

switch

if else 表达了一种 如果***,否则**** 的意思,我觉得也可以这样理解。

switch表达了一种审判的味道,是不是这样,如果是就***,是不是那样,如果是就***,默认是这样,就*** 这种情况的表达将判定条件抽离出来,下面采用枚举的方式进行判定和逻辑处理,像我们刚学习分支结构的时候,老师总会让我们写关于考试分数对应ABCDE等级的题目,颇有一些过于理论和书本化,难道企业会让我们去计算一个人成绩的好坏对应等级标准吗?我想商业项目应该是不会这么做的。那么我来讲讲实际业务中像ecshop这样的 函数式编程 项目代码是如何使用这样的分支结构的呢?

if esle在商业项目的使用

还有一种更加简单的 if else 就两种可能。

判断是否是会员 展示不同信息

这都是真正企业型代码里常用到的逻辑。

接下来我们看看switch的代码如何书写

用switch判断各个等级制度如何处理逻辑

大部分逻辑中还是需要用到 if else的,当分支过多的时候,为了维护方便还是建议使用 switch。

3.循环结构

循环结构的出现是为了改善大量重复代码的堆砌造成代码量猛增而且开发过慢,理解循环,编写循环,实际上是对业务的一种抽象能力,当你能从实际情况中分析总结并发现规律的时候,采用循环结构能大大减少代码量,并提高计算效率。比如著名的高斯1+2+3+***+100的问题

循环计算1到100的和

如何计算全班人的平均分?

将全班成绩放入数组,循环数组除以数组长度即可。

也正是循环,让 游标 产生,让结果集对应的发挥到最大作用。一些固定上下架业务中,需要定时处理一批数据,就必须要循环判断,然后处理。关于循环,有很多种

for while do while是最基本的,而php还提供了经常给数组使用的 foreach ,这是能把键值对赋值给 $key $value的游标形式的做法,这样能最大程度的让开发人员理解并修改原数组等操作。关于foreach的循环,我们会专门抽篇幅进行讲解,毕竟没有foreach循环解决不了的事情,如果有,那就加上 if else!

文章来源:智云一二三科技

文章标题:PHP基础学习3.三大流程控制结构

文章地址:https://www.zhihuclub.com/149392.shtml

关于作者: 智云科技

热门文章

网站地图