PHP函数


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

你已经看到许多函数,比如 fopen()fread() 等等。它们是内置函数,但是PHP也给你选择创建自己的函数的选项。

有两个部分应该清楚给你 -

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

实际上,您几乎不需要创建自己的PHP函数,因为已经为不同区域创建了1000多个内置函数库函数,您只需根据需要调用它们即可。

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

创建PHP函数

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

请注意,创建函数时,其名称应以关键字 函数 开头,并且所有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 语句和值或对象一起 返回 值。返回将停止函数的执行并将该值发送回调用代码。

您可以使用 返回数组(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

为函数参数设置默认值

如果函数的调用者没有通过参数,您可以设置一个参数为默认值。

以下函数在使用不会将任何值传递给此函数的情况下打印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

动态函数调用

可以将函数名称作为字符串分配给变量,然后像处理函数名称一样精确地处理这些变量。以下示例描述了此行为。

<html>

 <head>
    <title>Dynamic Function Calls</title>
 </head>

 <body>

    <?php
       **function** sayHello () {
          echo "Hello<br />";
       }

       $function_holder = "sayHello";
       $function_holder();
    ?>

 </body>
</html>

这将显示以下结果 -

Hello