在php中函数定义的格式是什么样的(PHP从入门到精通—函数—函数的基本用法、变量的作用域、函数的高级用法、PHP手册的使用)PHP函数 / PHP函数基础教程...

wufei123 发布于 2024-02-16 阅读(51)

介绍了PHP的编程基础(PHP从入门到精通—PHP编程基础-PHP基本语法、变量、 常量PHP从入门到精通—PHP编程基础-PHP运算符、表达式与语句、流程控制语句),PHP程序由一系列语句组成,这些语句都是为了实现某个具体的功能。

如果这个功能在整个应用中会经常使用,则每一处需要该功能的位置都写上同样的代码,必将会造成大量的冗余代码,不便于开发及后期维护为此,PHP中引入函数的概念,它就是为了解决一些常见问题而制作好的模型

函数的基本用法PHP中的函数分为系统内置函数和自定义函数,系统内置函数在前面章节中已有所使用Ø函数的定义在PHP中,函数就是将重复使用的功能写在一个独立的代码块中,在需要时进行单独调用,其语法格式如下:。

函数的语法格式说明如下:(1)“function 函数名 ([参数名1[ = 值1], 参数名2[ = 值2], ...])”为函数头,由关键字function、函数名和参数列表三部分组成(2)函数名与变量命名规则基本相同,但函数名不区分大小写。

(3)函数体位于函数头之后,用花括号括起来,代表这是一个函数的功能区间(4)用方括号[]括起来的部分表示可选填,即参数列表与返回值是可选的,其他部分是必须存在的对函数定义的语法有所了解后,接下来定义一个最简单的函数output(),具体示例如下:。

上述定义的output()函数没有参数列表和返回值,函数体只是输出一句话。此外,需注意同一函数不能被定义两次,具体示例如下:

此处,PHP解释器会报错,提示重复声明Ø函数的调用当函数定义完成后,如果需要使用函数的功能,就需要调用函数函数的调用十分简单,前面的章节中多次调用系统内置函数,调用自定义函数的方法与它类似,其语法格式如下:。

函数名([参数名1[ = 值1], 参数名2[ = 值2], ...])函数调用只需引用函数名并赋予正确的参数即可Ø函数的参数参数列表是由一系列参数组成,每个参数是一个表达式,用逗号隔开在调用函数时,如果需要向函数传递参数,则被传入的参数称为实参,而函数定义时的参数称为形参,实参与形参需要按对应顺序传递数据。

参数传递的方式有按值传递、按引用传递和默认参数1.按值传递按值传递就是将实参的值赋给对应的形参,在函数内部操作的是形参,因此操作的结果不会影响到实参2.按引用传递按引用传递就是将实参按引用赋值给形参,在函数内部所有对形参的操作都会影响到实参的值。

引用传递就是在形参前加“&”符号,与变量的引用类似3.默认参数如果参数列表中的某个参数有值,就称这个参数为默认参数注意默认参数必须放在非默认参数的右侧,否则运行时将会报错Ø函数的返回值函数的参数列表是调用者将数据传递到函数内部的接口,而函数的返回值是将函数执行后的结果返回给调用者。

注意return并不是函数必需的部分,具体视函数功能而定另外,程序调用函数时,遇到return语句,则该函数剩余的代码将不会被执行变量的作用域变量需要先定义后使用,但这并不意味着变量定义后就可以随便使用,只有在它的作用范围中才可以被使用,这个作用范围称为变量的作用域。

总体来说,变量根据定义的位置分为局部变量和全局变量Ø局部变量局部变量是在函数内部定义的变量,其作用域仅限于函数内部,离开该函数后再使用此变量是非法的另外,函数定义中的普通形参由于只能在本函数内部使用,因此也是局部变量。

Ø全局变量全局变量是指在函数外部定义的变量,其作用域从变量定义处开始,到本程序文件末尾结束此处需注意,函数中的局部变量会屏蔽全局变量,因此在函数中无法直接访问全局变量Ø静态变量静态变量是一种特殊形式,它的特征是普通变量不具备的,下面主要介绍静态变量。

局部变量从存储方式上可分为动态存储类型和静态存储类型函数中的局部变量默认都是动态存储类型,即在函数调用结束后自动释放存储空间但有时希望在函数结束后,局部变量依然保存在内存中,这时就需要使用static关键字。

static修饰的变量称为静态变量,其存储方式为静态存储,即在第一次调用函数时该变量被初始化,下次调用函数时该变量的值并不会消失函数的高级用法Ø可变函数在学习可变变量时,一个变量的值可以为另一个变量的名称。

此外,一个变量的值还可以是一个函数的名称,这就是可变函数该变量名后加上圆括号,就可以执行与其值同名的函数,因此,可变函数也称为变量函数

Ø引用函数返回值引用不仅可以用于普通变量、函数参数,还可以用于函数的返回值,此时只需在函数名前添加&符号。此处需注意,在调用函数时,引用函数返回值需要在函数名前添加&符号,用来说明返回的是一个引用。

Ø函数的嵌套调用PHP语言允许在函数定义中出现函数调用,从而形成函数的嵌套调用。这种嵌套在程序开发中经常使用,接下来演示函数的嵌套调用。

Ø函数的递归调用在函数的嵌套调用中,一个函数除了可以调用其他函数外,还可以调用自身,这就是函数的递归调用。递归必须要有结束条件,否则会无限地递归。接下来演示函数的递归调用。

Ø回调函数在调用函数时,除了传递普通的变量作为参数外,还可以将另一个函数作为参数传递到调用的函数中,这就是回调函数若要自定义一个回调函数,可以使用可变函数来实现,即在函数定义时参数是一个普通变量,但在函数体中使用这个参数变量时加上圆括号,就可以调用和这个参数值同名的函数。

接下来演示回调函数。

在例中,第14行为回调函数,首先判断$operation的值是否为函数,若不是,则返回false;若是,调用$operation值所代表的函数从此例题中可以得出使用回调函数的优势:对于同一个函数可以根据传入参数的不同而去执行不同的函数。

例如本例中,当调用calculate()函数时,如果参数$operation为add,则将会调用add()函数;如果参数$operation为sub,则将会调用sub()函数,这样使程序更加灵活并便于维护。

除了使用可变函数实现回调函数外,还可以使用call_user_func_array()函数来实现回调函数。它是PHP中的内置函数,其语法格式如下:

其中,第一个参数表示需要调用的函数名,此处需要传递一个字符串;第二个参数是一个数组类型的参数,表示调用函数的参数列表ØPHP手册的使用PHP手册内容主要由函数参考构成,但也包含了语言参考、PHP 一些主要产品特点的说明以及其他补充信息。

前面经常使用系统内置函数,但记住所有内置函数的用法是不太现实的,因此需了解如何通过PHP手册查阅内置函数的用法1.打开手册用户在浏览器地址栏中输入http://www.php.net/manual/zh/index

.php,就可以打开PHP手册,如图所示。

2.搜索函数在上图右上角输入框中输入函数名(不需要添加圆括号)并按Enter键,浏览器就会显示函数的用法[此处以call_user_func_array()函数为例] ,如图所示。

在图中,注意每个函数支持的版本号与搭建的PHP环境中的版本号是否匹配3.查看参数及返回值拖动右侧滚动条至参数标题处,浏览器显示call_user_func_array()函数参数及返回值的详细介绍,如图所示。

查阅一个函数,用户必须清楚以下三点内容:函数的功能函数的参数函数的返回值4.查看范例了解函数的参数和返回值后,用户有可能还是不太清楚call_user_func_array()函数的用法,继续拖动右侧滚动条,找到范例,通过例题来加深对这个函数的学习,如图所示。

初学者在以后学习PHP时,需要经常查看PHP手册,多尝试几次就会发现其实并没有想象中的那么困难小结:PHP从入门到精通—函数—函数的基本用法、变量的作用域、函数的高级用法、PHP手册的使用主要介绍了PHP程序中的函数,从函数的基本语法开始,接着讲解变量的作用域和函数的高级用法,最后讲解PHP手册的查阅。

学习完本章内容,大家可以根据需要自定义函数或调用系统内置函数,并学会查阅PHP手册

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

宝骏汽车 新闻44310