php中function 的用法

來源:互聯網
上載者:User

使用者自訂函數也稱自訂函數,它們不是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 . "<br>";
       }
       Valuechange($myNum);
       Echo $myNum;
    ?>

 

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

      類成員或者函數調用.

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

      代碼func_default.php

     

 代碼如下 複製代碼
<?php
         $myNum=100;
         function Valuechange ($number)
         {
           $number=$number+1;
           Echo $number . "<br>";
          }
           Valuechange($myNum);
           Echo $myNum;
       ?>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.