函數分為系統內部函數和用戶自定義函數兩種。 函數就是把日常中經常使用的一段代碼或一個功能寫成一個函數。在需要時進行調用,調用函數的目的是為了簡化編程的負擔,減少代碼量和提高效率,達到增加代碼重用性,避免重復開發的目的。
1.定義和調用函數,還有如何在函數間傳遞值。
函數就是將一些重復使用到的功能寫成一個獨立的代碼塊,在需要的時候單獨調用。
function foo ($arg_1, $arg_2, ..., $arg_n){
關鍵字 函數名字 參數 參數 參數
echo "Example function.\n"; 這個為自定義函數主體
return $retval;
}
在調用函數時需要向函數傳遞參數,被傳入的參數稱為實參,而函數定義的參數為形參。參數傳遞的方式有,按值傳遞,按引用傳遞,和默認參數3種。
1.按值傳遞是指將實參的值復制到對應的形參中,在函數內部的操作針對形參進行。操作的結果不會影響到實參,即函數返回後,實參的值不會改變。也就是說實參的值不會因為函數的改變,而改變,但是函數輸出的值是按傳入的參數而改變了的。
2.按引用傳遞方式就是將實參的內存地址傳遞到形參中,這時在函數內部的所有操作都會影響到實參的值,返回後實參的值會發生變化,引用傳遞方式就是傳值時在原基礎上加&號即可。
3.默認參數,默認參數及可選參數,可以指定某個參數為可選參數,將可選參數放在參數列表末尾,並且指定其默認值為空。默認參數必須放在非默認參數的右側,否則函數可能出錯,,默認值也可通過引用傳遞。
2.函數返回值
1.函數的返回值,通常,函數將返回值傳遞給調用者的方式是使用關鍵字return
return()將函數的值返回給函數的調用者,即將程序控制權返回到調用者的作用域,如果在全局作用域內使用return()關鍵字,哪麼將終止腳本的執行。
return語句只能返回一個參數,也即只能返回一個值,不能一次返回多個,如果要返回多個結果,就要在函數中定義一個數組,將返回值存儲在數組中返回。
2.變量函數
函數的調用是通過改變變量名來實現的,通過在變量名後面加上一對小括號,php將自動尋找與變量名相同的函數,並且執行它,如找不到就報錯。
例如:function go(){
echo go;
}
function come(){
echo come;
}
$fun="go";
$fun();
$fun="come";
$fun();
3.對函數的引用
按引用傳遞參數可以修改實參的內容。引用不僅可用於普通變量,函數參數,也可用於函數本身,對函數的引用,就是對函數返回結果的引用。引用函數就是對定義函數時,在函數名前加上&符,接著通過變量$str引用該函數,最後輸出變量$str.
例,function &example($tmp=0){
return $tmp;
}
$str = &example("看到了");
echo $str."<p>";
4.取消引用
當不需要引用時,可以取消引用,取消引用使用unset()函數,它只是斷開了變量名和變量內容之間的綁定,而不是銷毀變量內容。
php變量函數庫
常用的:
isset()函數檢查變量是否被設置,即是否被賦值。
設置則返回TRUE,否則返回false。isset() 只能用於變量,因為傳遞任何其它參數都將造成解析錯誤。若想檢測常量是否已設置,可使用 defined() 函數。
empty()函數檢查一個變量是否為空,為空返回TRUE,否則返回FALSE
gettype()函數獲取變量的類型。
var_dump 打印變量的相關信息。
常用的字符串函數庫
explode 分隔字符串
日期時間函數庫
checkdate 驗證日期有效性
mktime 用於返回一個日期的unix時間戳
數學函數庫
floor實現捨去法取整
fmod返回除法的浮點余數。
文件系統函數庫
fopen()用於打開某文件,並返回該文件的標識指針,該文件可是本地也可是遠程。
mkdir新建目錄
mysql函數庫
每種函數數都有很多,這裡只寫了幾個舉例而已。
復習這一節內容:
1.定義和調用函數
2.函數間傳遞參數,按值傳遞,引用,默認
3.從函數中返回值,return
4.變量函數
5.對函數的引用
6.取消引用
7.php變量函數庫,常用的,字符串,日期時間,數學,文件系統,mysql函數庫
作者“技術為王”