function是php中的一个关键字,用于用户声明自定义函数,语法为“function 函数名([参数1, 参数2, …, 参数n]){函数体;[return 返回值;]}”。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
PHP 的函数可以分为两种,即 PHP 的预定义函数和用户自定义的函数。用户可以在自己的程序或 PHP 文件中直接使用预定义函数,PHP 提供了大量功能丰富的预定义函数供 PHP 开发人员使用,极大地提高了开发效率。而自定义函数,是开发人员专门用来解决特定需求的功能模块。
而function就是php中用于声明自定义函数的关键字。
在 PHP 中声明一个自定义的函数可以使用下面的语法格式:
function 函数名 ([参数1, 参数2, ..., 参数n]){ 函数体; [return 返回值;] }
函数的语法格式说明如下:
-
每个函数的第一行都是函数头,由声明函数的关键字 function、函数名和参数列表三部分组成,其中每一部分完成特定的功能;
-
每个自定义函数都必须使用 function 关键字声明;
-
函数名可以代表整个函数,可以将函数命名为任何名称,只要遵循变量名的命名规则即可。每个函数都有唯一的名称,但需要注意的是,在 PHP 中不能使用函数重载,所以不能定义重名的函数,也包括不能和系统函数同名;
-
声明函数时函数名后面的小括号“()”也是必须有的,在小括号中包含了一组可以接受的参数列表,参数就是声明的变量,然后在调用函数时可以将变量传递给函数。参数列表可以为空,也可以有一个或多个参数,多个参数之间使用逗号分隔;
-
关键字“function”与函数名之间需要使用空格分隔开,而函数名与包裹参数列表的小括号之间不需要使用空格分隔,当然加上空格也不会出错;
-
函数体位于函数头后面,需要使用大括号“{}”包裹起来。函数的所用工作都是在函数体中完成的。函数被调用后,首先执行函数体中的第一条语句,执行到 return 语句或最外面的大括号“}”后结束,返回到调用函数的地方。函数体中可以使用任何有效的 PHP 代码,甚至是其他的函数或类的定义也可以在函数体中声明;
-
使用关键字 return 可以从函数中返回一个值或者表达式,程序执行到 return 语句时,该表达式将被计算,然后返回到调用函数的地方继续执行。
因为参数列表和返回值在函数定义时都不是必须的,而其他的部分是必须有的,所以声明函数时通常有以下几种方式。
1) 在声明函数时可以没有参数列表:
function 函数名(){ 函数体; return 返回值; }
2) 在声明函数时可以没有返回值:
function 函数名(参数1, 参数2, ..., 参数n){ 函数体; }
3) 在声明函数时可以没有参数列表和返回值:
function 函数名(){ 函数体; }
函数的调用
不管是自定义的函数还是系统函数,如果函数不被调用,就不会执行。只要在需要使用函数的位置,使用函数名称和参数列表进行调用即可。
函数被调用后开始执行函数体中的代码,执行完毕返回到调用的位置继续向下执行。所以在函数调用时函数名称可以总结出以下三个作用。
-
通过函数名称可以调用函数,并让函数体的代码运行,调用几次函数体就会执行几次;
-
如果函数有参数列表,还可以通过在函数名后面的小括号中传入对应的值给参数,在函数体中使用参数来改变函数内部代码的执行行为;
-
如果函数有返回值,当函数执行完毕时就会将 return 后面的值返回到调用函数的位置,这样就可以把函数名称当做函数返回的值使用。
提示:只要声明的函数在脚本中可见,就可以通过函数名在脚本的任意位置进行调用,在 PHP 中可以在函数的声明之后调用,也可以在函数的声明之前调用,还可以在函数中调用函数。
【示例】将我们讲解 for 循环时打印九九乘法表的程序封装到函数中,代码如下所示:
<?php function table(){ //定义函数 for ($i = 1; $i <= 9; $i++) { for ($j = 1; $j <= $i; $j++) { echo $j.' * '.$i.' = '.$i*$j.' '; } echo '<br>'; } } table();//调用函数 ?>
运行结果如下:
1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
【示例】下面我们来定义一个函数,来实现简单的加法运算,代码如下所示:
<?php function add($num1,$num2){ $a = $num1 + $num2; return $a; } $sum = add(11,5); echo '$sum = '.$sum.'<br>'; echo '6 + 33 ='.add(6,33).'<br>'; echo '42 + 21 ='.add(42,21).'<br>'; echo '167 + 153 ='.add(167,153); ?>
运行结果如下:
$sum = 16 6 + 33 =39 42 + 21 =63 167 + 153 =320
推荐学习:《PHP视频教程》