1. 程式人生 > php教程 > php學習之 function的用法_PHP教程

php學習之 function的用法_PHP教程

使用者自定義函式也稱自定義函式,它們不是PHP提供的,是由程式設計師建立的.由於自己建立了這樣的函式,所以就可以完全控制這些函式.因此可以讓一個函式完全按照自己希望的方式執行.

1,申明函式

   在PHP中,定義函式的方法同其他程式語言幾乎一樣.下面是PHP申明函式的語法結構:

   Function function_name($argument1,$argument2,$argument3,......$argumentn)

    {

      //函式程式碼code

      Return 返回值;

     }

       以上語法結構中,關鍵字的含義如下.

   (1)function:用於申明使用者自定義函式的關鍵字.

   (2)function_name:要建立的函式名稱.該名稱將在以後被呼叫時使用.函式名應該唯一,因為PHP不支援過載.在命名函式的時候,需要遵循和變數命名

       相同的原則.但是函式名不能以$開頭,而變數可以.

   (3)argument:要傳遞給函式的值.函式可以有多個引數,它們之間用逗號.但是引數項是可選的,可以在呼叫函式的時候不傳遞任何引數.

   (4)code:是在函式被呼叫的時候執行的一段程式碼.如果有兩條或者多條語句,則程式碼必須用大括號"{}"括起來.但是,如果只有一條程式碼,則不需要大括號.

   (5)Return:將呼叫的程式碼需要的值返回.任何型別都可以返回,包括列表和物件.這導致函式立即結束它的執行,並且將控制權傳遞迴它被呼叫的行.

2,無引數函式

   程式碼func_1.php

    <?php
    require 'a.php';
   echo "我不會被執行!";

   ?>

3,有引數函式

      PHP支援按值傳遞引數(預設),通過引用傳遞和預設引數值.可變長度引數列表僅在PHP4和後繼版本中被支援.

   (1)值傳遞引數.按值進行引數傳遞是PHP的預設傳遞方式.使用這個方法,必須在主程式呼叫時傳遞一個值(引數).

       程式碼sum.php

       <?php
         function sum ($a,$b)
         {
          Echo $a+$b;
          }
         sum(100,20);   //開始呼叫該函式
       ?>

  (2)引用引數.在按照值傳遞的時候,只有引數的副本傳遞給被呼叫的函式.但是在被呼叫函式內部對這些值的任何修改,都不會影響呼叫函式

      中的原始值.引用傳遞其實也就是地址傳遞,將一個變數的地址作為引數傳遞.

      程式碼valuechange.php

     <?php
        $myNum=100;
        function Valuechange ($number)
       {
         $number=$number+1;
         Echo $number . "
";
       }
       Valuechange($myNum);
       Echo $myNum;
    ?>

  (3)預設值引數.使用預設的引數值傳遞方法,函式必須在呼叫的時候有一個引數.如果沒有使用的值,就把預設值傳遞給函式引數.預設值必須是常量表達式,不是變數,

      類成員或者函式呼叫.

      提示:當使用預設引數時,任何預設引數必須放在非預設引數的右側;否則,可能函式不會按照預期的情況工作.

      程式碼func_default.php

      <?php
         $myNum=100;
         function Valuechange ($number)
         {
           $number=$number+1;
           Echo $number . "
";
          }
           Valuechange($myNum);
           Echo $myNum;
       ?>