首页 » PHP和MySQL Web开发(原书第4版) » PHP和MySQL Web开发(原书第4版)全文在线阅读

《PHP和MySQL Web开发(原书第4版)》5.5 了解基本的函数结构

关灯直达底部

一个函数声明将创建或者声明一个新的函数。声明是以关键字function开始的,接下来,给出函数名称和必要的参数,然后再给出每次调用这个函数时要执行的代码。

在这里,给出一个常见的函数声明:

function my_function{

echo'My function was called';

}

这个函数声明是以function开始的,这样读者和PHP解释器都将知道这是一个用户定义的函数。该函数名称是my_function。可以使如下所示的命令调用这个新函数:

my_function;

正如你所猜到的,调用这个函数会在浏览器中显示文本"My function was called"。

内置函数在所有PHP脚本中都可以使用,但是如果声明了自己的函数,它们只是在声明它们的脚本中可以使用。将经常用到的函数包含在一个文件中是一个很好的主意。然后可以在所有脚本中调用require语句,这样这些函数就可以使用了。

在一个函数中,花括号包括了完成所要求任务的代码。在花括号中,可以包含任何在PHP脚本的其他地方都合法的代码,其中包括函数调用、新的变量或函数声明、require或include语句类声明以及HTML脚本。如果希望在一个函数中退出PHP并输入HTML脚本,可以像在脚本其他地方做的那样——使用一个封闭的PHP标记,然后再编写HTML。

下面的代码是前面例子的一个合法的修改,其输出结果是一样的:

<?php

function my_function{

?>

My function was called

<?php

}

?>

请注意,PHP代码被封闭在一对匹配的PHP开始和结束标记之间。在本书的大多数小段代码示例中,并没有使用这些标记。它们被显示出来是因为在这些例子中有这样的要求。

函数的命名

在给函数命名的时候,最重要的就是函数名称必须精炼但又要有描述性。如果函数是用来创建页眉的,那么pageheader或page_header是不错的名称。

函数命名具有如下几个限制:

■函数名称不能和已有的函数重名。

■函数名称只能包含字母、数字和下画线。

■函数名称不能以数字开始。

许多语言允许重复使用函数名称。这个特性叫做函数的重载。但是PHP不支持函数重载,所以自定义函数不能和内置函数或是用户已定义的函数重名。请注意,虽然每个PHP脚本知道所有内置函数,但对于用户定义的函数,PHP只能识别那些存在于本脚本之中的。这就意味着,虽然可以在不同的文件中重复使用一个函数名,但这会引起混乱,所以应该避免。

如下所示的函数名称是合法的:

name

name2

name_three

_namefour

而如下所示的函数名称则是不合法的:

5name

name-six

fopen

(如果最后一个函数不是因为已经存在了,那它就是合法的。)

请注意,虽然$name并不是一个函数的合法名称,但是一个类似于如下所示的函数调用:

$name;

也可以正确地执行,这是根据$name的值来确定的。其原因就是PHP可以取出保存在$name中的值,寻找具有那个名称的函数,并且调用该函数。这种函数类型被称为可变函数,而且有时候是有用的。