笨鳥學php(五) 函數的聲明與使用
1、函數的聲明
2、變數的範圍
局部變數: 在函數中聲明的變數就是局部變數, 只能在自己的函數內部使用。
全域變數: 在函數外聲明的變數就是全域變數, 在變數聲明以後直到整個指令碼結束前都可以使用, 包括在函數中和 { } 中都可使用。
2.1 知識點: PHP的變數分不出是聲明還是使用
';}demo($a);echo $a;// 結果: 20, 10// PHP的變數分不出 $a 是聲明還是使用?>
2.2 知識點: 函數中使用全域變數必須使用global關鍵字, 在聲明global之後的變數才是全域的變數
";}function test() {global $a;$a += 5;echo $a . "test
";}echo $a . " ----
"; // 10 ----demo(); // 20 demo echo $a . " !!!!
"; // 20 !!!!demo(); // 30 demo echo $a . " @@@@
"; // 30 @@@@test(); // 35 test echo $a . " ####
"; // 35 ####?>
靜態變數: 只能聲明在函數中(類中), 不能在全域聲明, 變數前使用static關鍵字修飾。
2.3 知識點: 靜態變數在靜態代碼塊中儲存, 它的值可以一個函數多次調用之間共用, 但只在第一次調用函數時聲明到記憶體
以後再調用時就不再聲明而直接使用(和Java類似)。
"; } test(); // 1 test(); // 2 test(); // 3?>
3、變數函數
其實這個和JS又很類似, 例如: 定義$var = hello, 下次使用$var()時就將尋找與變數值同名的函數hello()
"; // 91?>
4、系統函數
4.1 常規函數
bool copy (string source, string dest)
4.2 帶有mixed, mixed表示可以傳任何類型的資料
bool chown (string filename, mixed user)
4.3 帶有&參數的函數, 表示引用賦值, 這個參數不能傳值, 只能傳一個變數,然後函數將變數的值改變,
我們在使用這個變數時,值也是變化的(和Java中傳引用又是一樣的)
bool arsort (array &array [, int sort_flags])
4.4 預設函數, 帶有[]的函數, 表示這個參數是可選的,如果你傳值了就使用你傳的值,如果沒有傳值則使用預設值
bool arsort (array &array [, int sort_flags])
";}demo(8,9);?>
4.5 帶有...的參數函數, ...表示可以傳任意多個參數
int array_unshift (array &array, mixed var [, mixed ...])
4.6 回呼函數 帶有callback, 就是調用這個函數時需要我們傳一個函數進來(函數名,函數名字串)
array array_filter (array input [, callback callback])
2 [3] => 4 [5] => 6 [7] => 8 ) ?>
http://www.bkjia.com/PHPjc/854421.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/854421.htmlTechArticle笨鳥學php(五) 函數的聲明與使用 1、函數的聲明 2、變數的範圍 局部變數: 在函數中聲明的變數就是局部變數, 只能在自己的函數內部使用...