3.1 定义并使用函数
定义并使用函数
函数具有控制程序设计的复杂性,提高软件的重用性、可维护性和开发效率等优点。通过函数能够把特定的功能封装在程序块中,当需要该功能时,直接调用相应的函数就可以了。下面将介绍如何在PHP中定义函数及如何使用PHP函数。
3.1.1 定义函数
在PHP中,函数使用关键字function来定义,通常由函数名称、参数、函数体和返回值4部分构成。自定义函数的语法格式如下:
function函数名称([参数1,参数2,参数3……]){ 函数体; return返回值; }
在上述语法格式中,其中:
● 函数名称用来标识某个函数,PHP中不允许函数重名。在命名函数时应注意,函数名称只能包含数字、字母和下画线,并且不能以数字作为开始。函数名不区分大小写。
● 参数的作用是使函数外部能够向函数中传递数值。在函数的参数列表中,可以没有参数,也可以有一个或者多个参数。
● 返回值的作用是在函数成功执行后,将执行结果返回给函数外部。函数的返回值可以是任何数据类型,也可以没有返回值。
● 函数体是该函数的执行规则,任何有效的PHP代码都可以出现在函数体中。在函数体中可以调用PHP内置函数或者其他自定义函数。
例如,自定义一个函数,该函数实现的功能是计算n的阶层,代码如下:
代码3-1光盘\codes\第3章\3.1\define.php
<?php function nRecursion($n){ $s=1; for($i=1;$i<=$n;$i++){ $s=$s*$i; } return $s; } ?>
3.1.2 函数的调用方法
在PHP中,可以直接使用函数名称进行函数的调用。如果函数带有参数,调用时需要传递相应参数。调用系统内置函数和自定义函数的方法都是相同的,可以使用下面的语法格式:
function函数名称([参数1,参数2,参数3……]);
下面是调用round()函数的例子。round()函数是PHP内置函数,其语法格式如下:
float round ( float $val [, int $precision])
在调用函数前,需要理解函数的功能、参数和返回值的含义。
● 功能:该函数实现了对浮点数进行四舍五入的功能,并且可以指定从浮点数的位置开始进行四舍五入。
● 参数:该函数有两个参数,分别是val和precision。参数的含义是从浮点数val的第precision个长度的位置开始进行四舍五入。中括号中的参数表示可选参数。
● 返回值:该函数返回值的类型是float型。
调用round()函数对浮点数725.386进行四舍五入运算的代码如下:
代码3-2光盘\codes\第3章\3.1\use.php
<?php $floatNumber = 725.386; echo "原浮点数为:".$floatNumber."<br>"; $result1=round($floatNumber); //调用round()函数 echo "从小数点处进行四舍五入的结果为:".$result1."<br>"; $result2=round($floatNumber,2); //调用round()函数 echo "从小数点后两位处进行四舍五入的结果为:".$result2."<br>"; $result3=round($floatNumber,-2); //调用round()函数 echo "从小数点前两位处进行四舍五入的结果为:".$result3; ?>
该程序运行结果如图3-1所示。
图3-1 调用round()函数
如果调用一个不存在或存在错误的函数,会得到如图3-2所示的错误信息。该错误信息中可能会提示错误具体出现在哪个文件中的哪一行,以及调用时的函数名称,根据这个错误信息可以很容易地找到并纠正错误。
图3-2 关于函数调用的错误信息
如果看到类似错误信息,通常需要进行以下两项检查:
● 函数名称的拼写是否正确。
● 这个函数是否正确存在于PHP文件中。
除上述原因外,还有一种可能就是所调用的函数是PHP扩展的一部分,而该部分并没有被载入。比如,尝试使用GD库(图像操作函数库)的某些函数没有安装GD,将同样会看到错误消息。