当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

2.7PHP函数应用

9/17/2020 9:45:44 PM 人评论

2.7PHP函数应用

2.7 PHP函数应用

程序在完成一个功能时,可以把众多的程序写在一起,但这样容易引起混乱。另一种策略就是把总的功能分成小的功能模块,把每一个模块分别实现,在总的框架中根据需要把模块搭建在一起。实现程序模块化的策略就是使用函数,直观来说,函数就是代表一组语句的标识符,在使用函数时,外部调用者不需要关心函数的内部处理过程,只需要关心函数的输入和输出接口的应用。函数可以简单地分为两大类:一类是系统函数,一类是用户自定义函数。对于系统函数,可以在需要时直接选择使用,而用户自定义函数,首先要定义,然后才能使用。本节的重点是如何定义并使用用户自定义函数,主要包括函数定义的一般形式,函数的参数和返回值,函数的嵌套和递归等。

2.7.1 使用函数

一个函数可由以下的语法来定义:

alt

定义函数需要使用function关键字,之后是函数名,有效的函数名必须以字母或下划线打头,后面跟字母,数字或下划线。$arg_1到$arg_n为函数的可选参数列表,不同的参数之间用逗号分隔。在函数内部可以放置任何有效的PHP代码,甚至包括其他函数和类定义。

例如:

alt

上面的一段代码也可以写成:

alt

2.7.2 设置函数参数

通过函数参数列表可以传递信息到函数,PHP支持按值传递参数。默认情况下,函数参数通过值传递,即若在函数内部改变了参数的值,也不会影响到函数外部的值。

例如:

alt

这段代码的输出为“改变之前”。尽管在函数内部改变了参数$string的值,也没有影响到函数外部$str的值。如果希望允许函数修改它的参数值,必须通过引用传递参数,方法是在函数定义中该参数的前面预先加上&符号。

修改上面的代码如下:

alt

这段代码的输出为“改变之后”。在函数内部改变了参数$string的值,也影响到了函数外部$str的值。前后两段代码的唯一区别就是,后面一段代码的参数传递是引用传递,即在函数定义中的参数前面加上了&符号。

2.7.3 返回函数值

所有的函数都可以有返回值,也可以没有返回值。主要通过使用可选的return()语句返回值。任何类型都可以返回,其中包括列表和对象。这导致函数立即结束它的运行,并且将控制权传递回它被调用的行。

举例如下:

alt

2.7.4 函数嵌套和递归

PHP中的函数可以嵌套定义和嵌套调用。所谓嵌套定义,就是在定义一个函数时,其函数体内又包含另一个函数的完整定义。这个内嵌的函数只能在包含它的函数被调用之后才会生效,举例如下:

alt

这段代码的输出为“并没有关闭直到foo()函数被应用。”

所谓嵌套调用,就是在调用一个函数的过程中,又调用另一个函数。举例如下:

alt

这段代码的输出是“较大的是200”。在此段代码中首先调用的myoutput(),而在调用这个函数的过程中,又调用了另一个函数maxNum(),这就是函数的嵌套调用。

PHP中还允许函数的递归调用,即在调用一个函数的过程中又直接或间接地调用该函数本身。举例如下:

alt

这段代码的输出是数字5,6,7,8,9,10。在此段代码中首先调用的recursion(),而在调用这个函数的过程中,如果参数的值小于等于10,则又调用此函数本身,这就是函数的递归调用。嵌套和递归在使用PHP进行一些结算系统的应用时经常使用到,需要读者举一反三,清晰的掌握逻辑关系后方可以进行应用,否则很容易出现死循环。

上一篇:2.6PHP表达式

下一篇:2.8MySQL数据库操作

相关教程

共有条评论 网友评论

验证码: 看不清楚?