PHP函數介紹_PHP教程

來源:互聯網
上載者:User

PHP函數介紹


基本使用: 函數定義形式: function 函數名(形參1,形參2,...) { //函數體(代碼塊); } 函數調用形式: 本質上就是使用一個名字來達到執行其中函數中的的作用。通常可以分兩種情形的調用: 第一種:沒有傳回值的函數,則調用語句是獨立語句 函數名(實參1,實參2,...); //實參個數應該跟形參有匹配性 第二種:有傳回值的函數,則調用語句,通常會“混雜”在別的語句中,並將該調用語句當作一個“資料”來使用: A: $v1 = 函數名(); //賦值給其它變數,這裡省略實參文法,下同 B: $v1 = 函數名()*3+6; //參與運算,然後再賦值 C: echo 函數名(); //直接輸出 D: echo 函數名()*3+6; //參與運算,然後再輸出 E: $v1 = 函數名2(函數名(),實參2,實參3,...); //當作實參使用 函數調用流程分析: 開始調用:實際參數傳資料給形式參數 程式執行流程進入到函數中(一個獨立的Runspace),跟全域執行空間是隔離的 按常規的程式邏輯執行函數中的代碼 如果碰到return語句,則終止函數的執行,跳回函數開始調用的位置 如果執行到函數的最後位置,也同樣跳回函數開始調用的位置其運行流程原理圖如下:函數參數問題: 一個函數, 在定義時,有形式參數(形參:parameter) 1:形參一定是一個變數名, 2:該變數名只能是在該函數中有效變數名, 3:而且只在該函數調用並執行時有效,函數結束,通常這些變數也就“銷毀” 在調用時有實際參數(實參:arguemet) 實參就是一個“實際資料”,該資料可以是一個“直接資料”(比如5,"abc"),也可以是一個變數中儲存的資料。 實參的作用是將其資料”賦值給“形參變數 實參跟形參之間通常應該有個“一一對應”關係 預設值參數: 定義一個函數的時候,在形式參數的位置,可以給形式參數設定預設值,此時就可以稱為預設值參數。比如: 注意: 預設值不能是對象或資源類型 預設值只能是常量運算式,或常量,不能是變數即:如下文法是正確的:function f1($v = 3) {}, function f1($v = __LINE__) {}, 如下文法是錯誤的:function f1($v = 3+1) {} , $m = 3,function f1($v = $m) {}, 函數的參數傳值問題: 實際上,函數的參數傳值問題,跟變數之間的傳值是一樣的規則(模式):預設是值傳遞。 如果實參本身就是“直接資料”,則不存在傳值問題,而是簡單的“賦值” 傳值問題只發生在實參是變數的情形: 我們也可以讓某個參數(形參)以引用傳遞的方式來傳值: 引用傳遞的形參(實參),在函數內部改變其值,在函數外面的實參,也會相應做修改 注意:如果某個形參設定為引用傳遞,此時,實參只能使用變數,否則會出現語法錯誤,如: 參數的數量問題: 1:函數的參數的數量可以是0個或多個 -- 具體多少個,不是文法問題,而是應用問題 2:通常,實際參數的數量應該跟形式參數的數量一致 3:但是,在第二條的基礎上,如果形式參數中有預設值,則實際參數的對應項可以少省略 即:實參的個數,至少應該不少於形參中的非預設值參數的個數 但:我們還有一種特殊的處理函數參數的用法:自由參數數量 定義時可以不給定形參,但調用時,卻又可以給定任何個數的實參在系統中,var_dump()這個函數也有同樣的使用效果: $var_dump($v1); var_dum($v1,$v2,$v3); //這樣也是可以的這種應用的實現,是依賴於系統中的3個系統函數來達到的: func_get_args(); //獲得一個函數的接收到的所有實參資料,並結果是一個數組 func_get_arg(n); //獲得一個函數所接收到的第n個實參資料(n從0開始) func_num_args(); //獲得一個函數所接收到的所有實參資料個數

http://www.bkjia.com/PHPjc/1072632.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1072632.htmlTechArticlePHP函數介紹 基本使用: 函數定義形式: function 函數名(形參1,形參2,...) { //函數體(代碼塊); } 函數調用形式: 本質上就是使用一...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.