定义一个函数用来判断奇偶数PHP,PHP基础学习8.函数入门1

函数,对拥有编程基础的人而言是一个并不陌生的词汇。在C语言刚入门学习的时候,老师要求我们写函数来识别某个数是否是奇数偶数,判断三个数中谁最大谁最小,输出一个数的逆序数(12345变成54321),判断某个数是否是水仙花数,对一组数据进行排序等等,总之都是为了让我们用一段代码的指令集合实现某个特殊或者明确的功能,百度百科中这样解释:函数是指一段在一起的、可以做某一件事儿的程序。也叫做子程序、(OOP中)方法。

一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在C语言中,子程序的作用是由一个主函数和若干个函数构成。由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。

在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编写程序段的工作量。

函数分为全局函数、全局静态函数;在类中还可以定义构造函数、析构函数、拷贝构造函数、成员函数、友元函数、运算符重载函数、内联函数等。

我们可以看到,这里百度百科讲解的非常详细,能够做某件事情(有些过于白话文了)的程序称为函数,或者方法。

很多人懵了,函数和方法有什么区别吗?

事实上,在面向过程或函数式编程中,function func_name(){} 称之为函数,在面向对象中,函数又可以被类本身调用,使用$this 或者 self等关键字进行调用,这个时候函数相对于类和对象而言就是方法了,这其实是一个场景的名词罢了。

就像一个会做衣服的女裁缝,她是一个裁缝,能剪裁衣服,做西服,裤子,衬衫等,在工作中成为量体裁衣的裁缝,但是在家里,她用剪刀针线缝纫机等等这些剪裁衣服的技术又被家里人认为这是针线活,是缝缝补补,是母亲和妇女角色担任的工作,其实都是对布料进行的加工剪裁,但是在不同的场景中,它就被定义为不同的角色,也就拥有了不同的称谓。

难道程序员不是这样吗?工作的时候写代码用电脑是工作,回家后写代码用电脑是父母亲戚眼中的玩电脑不务正业宅男等标签人物。(心疼程序员一秒钟,滴,一秒钟过了)

程序中函数的运用非常广泛,只要有复用,就会有封装,而最初最基本的封装就是函数!

我们看这样一个例子:

要求通过PHP实现表格的隔行换色。

在bootstrap中的table样式中,我们常用 table-striped样式来实现表格的各行换色,这是bootstrap的CSS定义样式即可解决。而脱离bootstrap的框架的时候我们可以通过自定义样式

table tr:nth-child(odd){background:#F4F4F4;}

table tr:nth-child(even){color:#C00;}

这样来解决(这只是一个简单的例子),那么如果说想把这个问题完全的交给PHP来解决,又该如何处理呢?

要知道隔行换色,正好就是2的递增,而2的递增判断我们这里只要判断当前行是否是奇数偶数即可,对于整数而言,非奇即偶,只要判断其中一个即可。那么我们这里想起了之前如何判断奇数偶数的代码最核心的代码就是 if($num%2==0)这样的判断了,好,我们这里来写一下真正的代码。

定义一个函数用来判断奇偶数PHP,PHP基础学习8.函数入门1_第1张图片

判断是否是奇数的函数

这段代码虽然写完了,也很简单,可是我们要实现的是隔行换色,根据奇数偶数来显示颜色啊,还得拿到颜色才行。

那么,这时候,有同学已经想到了,只要在循环的时候做一个判断就可以了

定义一个函数用来判断奇偶数PHP,PHP基础学习8.函数入门1_第2张图片

循环中判断该行是否是奇数还是偶数进行换色

效果如图:

1b50a35c40776cf4e8e2ab15c3530e40.png

隔行换色的效果

可是如果很多页面都要隔行换色,这里就要写很多的判断了,所以这里还需要再度编写一个函数来完善它。

定义一个函数用来判断奇偶数PHP,PHP基础学习8.函数入门1_第3张图片

使用函数来获取奇数偶数对应的颜色

本次封装函数为

定义一个函数用来判断奇偶数PHP,PHP基础学习8.函数入门1_第4张图片

根据奇偶数来返回颜色

效果如图:

bf46a9ef101075e50cdd6b571aa50a4b.png

PHP判断奇偶数各行换色

由此我们可以看到,根据具体的需求,确切的分析拆解步骤进行小功能的组装,使用函数的相互调用和逻辑连贯,能达到更加高内聚低耦合的代码结构,我们让函数只完成其中的一小部分功能,这样函数能得到最大的复用,如果将上面两个函数融为一体,在下次需求变更的时候,颜色被改变了,那么该函数的功能就失效了,而上文中将代码拆解,面对颜色改变的需求,我们只要再封装另外一个函数来获取颜色即可,奇偶数的判断这部分代码得到了最大的复用,这也能保证我们的代码更加整洁,而且方便维护,出错率更少,因为单元模块的质量已经经过了测试和保证,是可以参与实际的质量评估的,只要再扩展函数中测试质量,并完成整体测试即可,这也能够最大的保证我们代码的质量安全和效率等等。

在我们的实际工作中,前人已经为我们封装了很多操作数据库啊 操作文件等方法,我们可以尽量的复用它,而不是一味的复制粘贴,这也会给我们的代码带来大量冗余,所以多用函数,多封装,能让我们的编程风格和思维更加的OOP!

你可能感兴趣的:(定义一个函数用来判断奇偶数PHP,PHP基础学习8.函数入门1)