標籤:地址 函數名 需要 運算子 引用傳遞 bsp 形參和實參 參與 指令碼
php函數
php函數和JScript的函數大同小異,這裡主要強調一下不同之處。
函數的定義:function函數名(形參類表){
函數體
}
函數的調用:函數名(實參類表)
在php裡函數可以先調用然後再寫函數的定義的代碼,因為指令碼的在執行之前會進行一次先行編譯,先行編譯後函數的定義代碼已經放置在記憶體中的使用者代碼區,而執行的時候,直接在使用者代碼區裡找。
可變函數
指函數名也可以用一個變數來代替!可變函數常用於一組功能比較類似,而且函數名也比較類似的情況。
形參和實參
形式參數parameter:是在定義函數的時候規定的,但是這裡的參數只是一個形式,預設是沒有值的。
實際參數argument:是在調用函數的時候需要把實際的值(實參)傳遞給該函數的形參,這個時候,函數的形參才有真正的資料!
參數的引用傳遞:需要在傳遞的時候加上求地址運算子&,&應該放在形參前面;
形參的預設值:可以給它一個預設值,參數的預設值,應該是一個確定的直接值,不能是一個變數或其他函數傳回值!也不能是參與運算的值!如果實參有傳值給形參,那麼就會覆蓋形參的值,變成 實參的值。
下面的函數可以接收到參數的所有值:
func_get_args():調用該函數的時候,可以得到一個索引數組,裡面的元素是當前函數接收到的所有的實參的值!
func_get_arg() : 獲得某個參數的值,使用參數的索引位置來表示,從0開始,比如func_get_arg(1)
func_num_args() :獲得實參的數量!
變數的範圍:
局部範圍:在一個函數內部定義的變數,其作用範圍就是局部範圍,該變數也叫作局部變數!
全域範圍:在函數外部定義的變數,其作用範圍就是全域範圍,該變數也叫作全域變數,但是PHP中的全域範圍與JS中的全域範圍是不一樣的!
全域範圍與局部範圍互不干涉,不能相互訪問!
每個函數也都有自己的局部範圍,函數直接的變數也無法互相訪問!
所以就要用到超全域變數了
超全域變數
$GLOBALS[‘變數名‘]=‘變數值’
超全域變數是系統定義好的,作用範圍是全域,變數的類型是數群組類型。
$GLOBALS數組的每一個元素,都與當前的每一個全域變數是一一對應的,也就是說,每當使用者建立一個全域變數,都會自動的在$GLOBALS數組裡面增加一個元素,其中元素的鍵(索引值)就是全域變數的名字,元素的值就是全域變數的值!每當增加一個$GLOBALS數組的一個元素,就會自動的建立一個全域變數!
php也有運算子除了常見的這裡介紹其他的運算子
clone:複製一個對象
new:是執行個體化一個對象
@:錯誤抑制符,抑制系統錯誤資訊!很多時候,我們要抑制系統的錯誤資訊,因為不友好,然後再加上一些使用者的友好的提示資訊!
instanceof:也是和物件導向相關的,作用是判斷一個對象是否為一個類的執行個體!
php入門part3