PHP - 函数


PHP 函数与其他编程语言类似。函数是一段代码,它接受一个参数形式的输入,并进行一些处理并返回一个值。

您已经见过许多函数,如fopen()fread()等。它们是内置函数,但 PHP 也为您提供了创建自己的函数的选项。

您应该清楚两个部分 -

  • 创建 PHP 函数
  • 调用 PHP 函数

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

请参阅PHP 函数参考以获得完整的有用函数集。

创建 PHP 函数

创建您自己的 PHP 函数非常容易。假设您想创建一个 PHP 函数,当您调用它时,它会在浏览器上简单地写入一条简单的消息。以下示例创建一个名为 writeMessage() 的函数,然后在创建后立即调用它。

请注意,创建函数时,其名称应以关键字function开头,并且所有 PHP 代码应放在 { 和 } 大括号内,如下例所示 -

<html>
   
   <head>
      <title>Writing PHP Function</title>
   </head>
   
   <body>
      
      <?php
         /* Defining a PHP Function */
         function writeMessage() {
            echo "You are really a nice person, Have a nice time!";
         }
         
         /* Calling a PHP Function */
         writeMessage();
      ?>
      
   </body>
</html>

这将显示以下结果 -

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

带参数的 PHP 函数

PHP 为您提供了在函数内传递参数的选项。您可以传递任意数量的参数。这些参数就像函数中的变量一样工作。以下示例采用两个整数参数并将它们加在一起,然后打印它们。

<html>
   
   <head>
      <title>Writing PHP Function with Parameters</title>
   </head>
   
   <body>
   
      <?php
         function addFunction($num1, $num2) {
            $sum = $num1 + $num2;
            echo "Sum of the two numbers is : $sum";
         }
         
         addFunction(10, 20);
      ?>
      
   </body>
</html>

这将显示以下结果 -

Sum of the two numbers is : 30

通过引用传递参数

可以通过引用将参数传递给函数。这意味着对变量的引用是由函数操作的,而不是变量值的副本。

在这些情况下对参数所做的任何更改都会更改原始变量的值。您可以通过在函数调用或函数定义中向变量名添加“&”来按引用传递参数。

以下示例描述了这两种情况。

<html>
   
   <head>
      <title>Passing Argument by Reference</title>
   </head>
   
   <body>
      
      <?php
         function addFive($num) {
            $num += 5;
         }
         
         function addSix(&$num) {
            $num += 6;
         }
         
         $orignum = 10;
         addFive( $orignum );
         
         echo "Original Value is $orignum<br />";
         
         addSix( $orignum );
         echo "Original Value is $orignum<br />";
      ?>
      
   </body>
</html>

这将显示以下结果 -

Original Value is 10
Original Value is 16 

PHP 函数返回值

函数可以将return语句与值或对象结合使用来返回值。return 停止函数的执行并将值发送回调用代码。

您可以使用return array(1,2,3,4)从函数返回多个值。

以下示例采用两个整数参数并将它们相加,然后将它们的总和返回给调用程序。请注意,return关键字用于从函数返回值。

<html>
   
   <head>
      <title>Writing PHP Function which returns value</title>
   </head>
   
   <body>
   
      <?php
         function addFunction($num1, $num2) {
            $sum = $num1 + $num2;
            return $sum;
         }
         $return_value = addFunction(10, 20);
         
         echo "Returned value from the function : $return_value";
      ?>
      
   </body>
</html>

这将显示以下结果 -

Returned value from the function : 30

设置功能参数的默认值

如果函数的调用者未传递参数,您可以将参数设置为默认值。

如果 use 没有向该函数传递任何值,则以下函数将打印 NULL。

<html>
   
   <head>
      <title>Writing PHP Function which returns value</title>
   </head>
   
   <body>
      
      <?php
         function printMe($param = NULL) {
            print $param;
         }
         
         printMe("This is test");
         printMe();
      ?>
      
   </body>
</html>

这将产生以下结果 -

This is test

动态函数调用

可以将函数名称作为字符串分配给变量,然后像对待函数名称本身一样对待这些变量。以下示例描述了这种Behave。

<html>
   
   <head>
      <title>Dynamic Function Calls</title>
   </head>
   
   <body>
      
      <?php
         function sayHello() {
            echo "Hello<br />";
         }
         
         $function_holder = "sayHello";
         $function_holder();
      ?>
      
   </body>
</html>

这将显示以下结果 -

Hello