Php 简明教程

PHP - Functions

与大多数编程语言类似,PHP 中的一个函数是一段有组织的可重用代码,用于执行一个相关的单一操作。函数为您的应用程序提供了更好的模块化和高程度的代码重用。

PHP 通过通过定义独立的可重用函数块来安排处理逻辑,支持结构化编程方法。这种方法的主要优点是代码变得易于理解、开发和维护。

下图显示了如何将工资计算过程逐步细化为独立的可重用函数。

php functions

Types of Functions

你已经见过了很多诸如 fopen()fread() 等函数。它们是内置函数,但 PHP 也允许你创建你自己的函数。PHP 中有两种类型的函数−

  1. Built-in functions − PHP 的标准库包含大量用于字符串处理、文件 I/O、数学计算等的内置函数。

  2. User-defined functions − 你还可以创建用户自定义函数,针对编程逻辑的要求进行定制。

可以通过传递必要的数据(称为 parametersarguments ),让一个函数从任何其他函数调用。被调用的函数将它的结果返回给调用环境。

这里有两部分需要明确 −

  1. Creating a PHP Function

  2. Calling a PHP Function

事实上,你几乎不需要创建你自己的 PHP 函数,因为已经为不同的区域创建了超过 1000 个内置库函数,你只需要根据你的需求调用它们。

请参阅 PHP Function Reference ,了解一组有用的函数。

User-defined Functions in PHP

创建你自己的 PHP 函数非常容易。我们从一个简单的示例开始,然后再详细阐述它的工作原理。假设你想创建一个 PHP 函数,当你在浏览器中调用它时,它会简单的写一条消息。

Example

在这个示例中,我们创建了一个名为 writeMessage() 的函数,然后调用它来打印一条简单消息 −

<?php

   /* Defining a PHP Function */
   function writeMessage() {
      echo "You are really a nice person, Have a nice time!";
   }

   /* Calling a PHP Function */
   writeMessage();

?>

它将生成以下 output

You are really a nice person, Have a nice time!

Creating a Function in PHP

现在,让我们详细了解这个过程。第一步是编写一个函数,然后你可以根据需要多次调用它。要创建一个新 function ,请使用 function 关键字,后跟你想使用的函数名称。在名称前面放上一个圆括号,它可能包含也可能不包含参数。在其后面放上一个用大括号分隔的语句块。此函数块中包含每次调用此函数时要执行的语句。

定义函数的一般 syntax 如下:

function foo($arg_1, $arg_2, $arg_n) {
   statements;
   return $retval;
}

如果这个函数打算将某些结果返回给调用环境,则应在函数块中的最后一个语句中设置 return 语句。不必有 return 语句,因为即使没有它,程序流也会返回给调用者,尽管不会携带任何值。

任何有效的 PHP 代码都可能显示在某个函数内部,甚至可以是其他函数和类定义。函数的名称必须遵循与用于形成变量名称相同的规则。它应以字母或下划线开头,后面可以跟任意数量的字母、数字或下划线。

下面是 PHP 中的一个简单函数。每当被调用时,它就会显示消息“你好,世界”。

function sayhello() {
   echo "Hello World";
}

Calling a Function in PHP

一旦定义了一个函数,就可以在 PHP 代码的任何地方多次调用它。请注意,函数不会自动调用。要调用某个函数,请在语句中使用它的名称;函数名称后面跟着一个分号。

<?php
   # define a function
   function sayhello(){
      echo "Hello World";
   }
   # calling the function
   sayhello();
?>

它将生成以下 output

Hello World

假设上述脚本 "hello.php" 出现在 PHP 服务器的文档根目录中,打开浏览器并输入 URL,如下 http://localhost/hello.php 。你应该在浏览器窗口中看到消息“你好,世界”。

在此示例中,函数会被定义,而没有任何参数或返回值。在随后的章节中,我们将了解如何定义和传递参数,以及如何让一个函数返回一些值。还将详细解释 PHP 函数的一些高级特性,例如递归函数、按值或引用调用函数等。