零起点php入门第10课-php函数(1)

™函数是由一系列语句组成的一个独立而且功能完整的功能块。它可以用来完成一些指定的操作,并返回操作后的结果。使用函数可以简化代码结构,并降低代码编写工作量。

™使用函数有两个最主要的优势:函数是一个完整而且独立的功能块,因而使用函数的代码结构更加清晰,可以明显增强代码的可读性;函数使得程序的可复用性非常强。PHP系统默认已经定义了多种类型的千余个函数,这些函数可以被任何一个PHP程序使用,这就是函数可复用性的最明显表现。

™PHP中的函数分为两类,分别是系统函数和用户自定义函数。系统函数的使用比较简单,本节将重点介绍自定义函数的知识。

1、自定义函数和调用函数

™自定义函数即为用户自己定义用来实现指定需求的函数。定义函数的一般形式如下所示:

™function 函数名(参数列表){
™函数体;
™return 返回值;
™}

™定义函数需要使用function关键字;函数名是用来为这一系列操作定义的名称;参数列表是数据传入函数的入口;函数体是函数的注意功能实现部分;函数都有返回值,但在没有显式调用return语句返回一个值的时候,函数会默认返回空类型(void)。

以上代码中,add是函数名;$x和$y是函数接受的参数;return后的表达式即为函数的返回值。函数调用的一般形式如下所示:

函数名(参数列表);

函数名即在函数定义时指定的名称,参数列表需要对应函数定义时的参数列表传入。

我们可以看到只要通过使用正确定义的函数名,我们就可以轻易得到相应的结果。

在上面的学习中我们已经认识到return可以将函数的运算结果返回。return语句也是跳转语句的一种,它会立刻终止当前函数的执行并返回结果。因此,return语句通常会放在整个函数体的最后。

2、函数的参数

™函数的参数有实际参数和形式参数之分。形式参数即为一个形式,它只要可以保证参数可以正确地传递到函数体中即可。因此只要符合PHP命名规范的名称都可以使用。如下所示函数的功能是完全一致的:

函数在定义时可以为形式参数设定默认参数,默认参数的定义必须是从右向左,并且默认参数的右边不可有为设置默认参数的形式参数。如下所示是一些默认参数的示例:

在调用的时候传入的参数即为实际参数,它会从左向右依次传入函数的参数列表,设置默认值的参数将被替换。

代码运行结果:

5
8
11

3、参数的传递

™参数的传递类似于变量的赋值。PHP参数传递方式分为按值传递和按引用传递。类似的,按值传递将传递实际参数的副本,而引用传递则传递实际参数本身。

代码运行结果:

交换前:
$m=5
$n=15
交换后:
$m=5
$n=15

从运行结果我们可以很明显看出,变量的值并没有被交换。而在函数内部确实实现了变量值的交换,我们可以通过以下代码来验证:

代码运行结果:

交换前:
$x=5
$y=15
交换后:
$x=15
$y=5

从以上输出函数内部交换过程的运行结果来看,在函数内部确实成功交换了变量的值。这就再次证实了按值传递方式中函数操作的是实际参数的副本。类似于变量的赋值,我们同样可以将变量的本身作为参数传递给函数体,这类函数定义的方式如下所示:

function 函数名(&参数1,&参数2,&参数…){
函数体;
return 返回值;
}

代码运行结果:

交换前:
$m=5
$n=15
交换后:
$m=15
$n=5

从运行结果我们可以看出,函数成功交换了变量的值。

AD:站点文章对你有帮助,可以选择去百度口碑好评下,还可以点击此处

赞 (1) 口碑
分享到:更多 ()

评论 8

表情 签到
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 胡德杰
    刚发现博主的站左右键都不给用,厉害呀!回复
  2. 无聊赚
    学学php还是可以 的回复
  3. 助推博客
    来扫扫盲回复
  4. boke112导航
    博主很给力啊,竟然还能沉下心来学习PHP回复
  5. 村上桐树
    PHP不简单,主要是后面的面向对象部分!回复