函式
一、語法:定義
//函式:完成指定任務的功能**塊,是乙個已經命名的。
function 函式名( [引數1,引數2...] )
使用: 函式名([引數。]);
注意:變數要先定義賦值,才可以輸出,但函式的定義和使用不部分先後順序的。
示例://定義乙個求累加的函式,要求引數乙個:表示要累加的值,返回求和後的結果 function dosum($m)
return $sum;
} 2. 判斷函式是否存在: funciton_exists("函式名"); 返回真true或假false
認識乙個函式從3個方面:
1. 函式的功能 2. 引數的型別,是否可選
3. 返回值
二、變數的作用域(範圍)
(1)由於函式的出現,導致變數的能見度(生命週期)不同。
共劃分為:全域性變數、區域性變數、 靜態變數:
1. 全域性變數:就是在函式外定義變數
作用域:在函式外和函式內都可以看到的,並可以使用的變數
注意:在函式內使用函式外的全域性變數要使用global關鍵字先宣告一下。
<?php
$a=10;//定義乙個變數a值為10
$b=20;
function fun()
fun(); //呼叫函式fun
echo $a; //沒有輸出,在函式內定義的變數,在函式外是無法使用的
?>
3. 靜態變數:在函式內使用static關鍵字定義的變數
//變數作用域:靜態變數的使用
function fun()
fun(); //1
fun(); //2
fun(); //3
fun(); //4
三、函式中引數的傳遞:值傳遞、引用方式傳遞、引數預設值、可變長度引數列表。
1.值傳遞:
在定義函式時的引數是普通引數;
2.引用方式傳遞:
使用&符來實現引用傳遞,就是將引數直接給給函式使用。(起別名)
假如函式內容發生改變,會使當前引數也發生改變。 注意:呼叫引用引數時,必須使用變數,不可以直接用值。
如:fun($x); 不可以使用fun(10);
在定義函式時的引數是使用&標識的引數;
function myadd($x,$y,&$z)
$a=10;
$b=20;
$sum=0;
myadd($a,$b,$sum);//呼叫函式myadd,將前兩個引數的和賦給第三個引數
echo $sum; //30
3.引數預設值:
我們可以在定義函式時,將部分引數提前附上初始值,
當被呼叫時沒有給這引數傳值,就會採用預設值,以保障函式正常使用。
要求預設值從引數的右邊開始。 4.可變長度引數列表。
此函式的引數個數任意個。
func_get_args();//以陣列的方式返回所有的引數資訊
func_get_arg($index) //獲取指定引數位置(index:從0開始的整數)的資訊
func_num_args()//獲取引數的個數。
5. 變數函式:就是呼叫函式使用的不是直接的函式名,而是乙個變數。
如:要呼叫add函式。應該是:add(10,20);
但是: $name="add"; $name(10,20); 等價於add(10,20);
四. 變數函式
就是函式的名字也是個變數時,就是變數函式。
$name="sum";
$name(); //等價於 sum( );
五. 遞迴函式:
遞迴函式--就是在函式體的**中出現了呼叫自己本身函式的語句。注意遞迴的結束。
六.require和include
通常放在 php 程式的最前面,php 程式在執行前,就會先讀入 require和include 所指定引入的檔案,使它變成 php 程式的一部份。常用的函式,亦可以這個方法將它引入當前指令碼中。
區別:require乙個檔案存在錯誤的話,那麼程式就會中斷執行了,並顯示致命錯誤
include乙個檔案存在錯誤的話,那麼程式不會中端,而是繼續執行,並顯示乙個警告錯誤。
五 Python 全域性與區域性變數 函式遞迴
11.變數 全域性變數 沒有縮排的變數稱為全域性變數 name tom print name def test print name test 區域性變數 在函式內部定義帶有縮排的變數稱為區域性變數 全域性作用域與區域性作用域 函式外部的區域稱為全域性作用域 函式內部的區域稱為區域性作用域 函式內部...
static 全域性變數 區域性變數 函式
c語言中使用靜態函式的好處 靜態函式會被自動分配在乙個一直使用的儲存區,直到退出應用程式例項,避免了呼叫函式時壓棧出棧,速度快很多。關鍵字 static 譯成中文就是 靜態的 所以內部函式又稱靜態函式。但此處 static 的含義不是指儲存方式,而是指對函式的作用域僅侷限 於本檔案。使用內部函式的好...
static修飾全域性區域性變數函式
1.static修飾全域性變數 特點如下 1 儲存區 靜態儲存區靜態儲存區在整個程式執行期間都存在 2 作用域 全域性靜態變數在宣告他的檔案之外是不可見的。準確地講從定義之處開始到檔案結尾。非靜態全域性 變數的作用域是整個源程式 多個原始檔可以共同使用 好處 1 不會被其他檔案所訪問,修改 2 其他...