與其他語言類似,php函式可以傳參,可以有返回值,但也有不同之處,如變數函式目錄
<?php/** @param number $a
* @param number $b
* @return number
*/function add($a, $b
)
echo add(10.5, 11); //
21.5
引用傳參必須傳變數,不能傳常量。
<?phpfunction show(&$a)
$b = 10;
echo
$b."
"; //
10 show($b
);
echo
$b."
"; //
20
php函式可以指定預設值,如果沒有傳遞引數,則使用預設值,指定預設值順序必須從右向左。
<?phpfunction add($a, $b, $c=10)
echo add(50,60)."
"; //
120echo add(50,60,20)."
"; //
130
php函式可以使用函式 func_get_args() 獲取所有引數,它返回乙個陣列;可以使用 func_num_args() 獲取引數總數;使用函式func_num_arg(i)獲取第i個引數。
<?phpfunction
add()
return
$sum
; }
echo add(1,2,3,4,5); //
15
變數函式是指將函式名字儲存在變數中,根據變數的值不同可以呼叫不同的函式,在其他語言中要想實現變數函式非常繁瑣,而在php中可以直接使用變數函式。
<?phpfunction
add()
return
$sum
; }
$func_name = "add";
echo
$func_name(2,4,6); //
12
在函式呼叫時,如果引數中傳的不是乙個變數或乙個值,而是乙個函式,這就是**函式引數。
<?phpfunction filter_range($num, $func
) }
function filter($i
) filter_range(10,"filter"); //
1 2 4 7 8
<?phpfunction add($a, $b
)
echo
call_user_func("add", 1, 2); //
3echo
call_user_func_array("add", array(1,2)); //
3
直接和間接的呼叫自己的函式叫做遞迴函式。
<?phpfunction factorial($num
) else
}echo factorial(5); //
120
php可以使用 include 包含自定義的php檔案函式庫,注意:include不是簡單的copy到當前檔案,對於非php檔案它還有執行的功能。
<?phpinclude "function.inc.php"; //
相當於copy
include "head.html"; //
非php檔案解析html檔案並顯示
include "demo.txt";
my_add(1,2); //
執行function.inc.php函式
在大型設計中可能會include乙個函式庫多次,那麼函式就會重複定義,可以用 include_once 解決重複包含的問題,但是建議使用 include ,因為include效率高。
類似的,包含其他檔案還可以使用 require 和 require_once ,require和include函式幾乎等價,區別在於在指令碼執行時包含,當處理失敗時,include產生乙個警告,而require則導致乙個致命的錯誤。因此建議包含關鍵性檔案時使用require函式,包含非關鍵性檔案時使用include。
PHP學習筆記 04 函式
1.函式的概念 2.函式的定義格式 3.函式的命名規範 對於函式,命名規則和變數一樣的,但是函式是不區分大小寫的 4.函式的呼叫過程與返回值 函式呼叫時,執行權進入函式,當函式所有語句執行完畢,函式結束,交回執行權,或者碰到return語句時,函式返回,交回執行權。5.引數的傳值方式 6.動態函式 ...
PHP學習筆記10 函式
1.php自定義函式 function f1 2.帶返回和引數的自定義函式 可以返回陣列和物件的任意型別 function f2 a,b 3.可變函式 通過變數的值來呼叫函式,因為變數的值是可變的,所以可以通過改變乙個變數的值來實現呼叫不同的函式。可變函式的呼叫方法為變數名加上括號。function...
PHP學習筆記三 函式
1 格式 funciton 函式名 引數1,引數2,引數3.2 函式命名要求 1 不能以系統函式名或關鍵字重名。2 不能以數字和特殊字元開頭,只能是大小寫英文本母和下劃線開頭。3 不能在函式名中包含空格或特殊字元。3 引數 1 可以自由定義引數的數量,沒有限制。2 帶有初始值的引數,在沒有被賦值的時...