php學(xué)習(xí) 函數(shù) 課件
更新時(shí)間:2008年06月15日 12:50:38 作者:
php函數(shù)課件資料,可以下載后看看那
代碼重用
include()
require()
這兩個(gè)函數(shù)都是用來(lái)引用文件的,區(qū)別是當(dāng)處理失敗時(shí)include()產(chǎn)生一個(gè)警告而require()是一個(gè)致密錯(cuò)誤
include_once()
require_once()
這兩個(gè)函數(shù)與include()與require()是一樣的 ,區(qū)別是include_once與require_once只能引用一次
自定義函數(shù)
自定義函數(shù)用function()來(lái)聲明
函數(shù)的優(yōu)越性:
控制程序設(shè)計(jì)的復(fù)雜性
提高軟件的可靠性
提高軟件的開(kāi)發(fā)效率
提高軟件的可維護(hù)性
提高程序的重用性
自定義函數(shù)的語(yǔ)法格式:
function 函數(shù)名稱(chēng)(參數(shù)1,參數(shù)2){
程序的內(nèi)容敘述;
return;
}
函數(shù)名稱(chēng)(參數(shù)1,參數(shù)2);
return 返回值; //返回值也可以是一個(gè)表達(dá)式
自定義函數(shù)名不區(qū)分大小寫(xiě)。命名函數(shù)時(shí)不可使用已聲明的函數(shù),或PHP內(nèi)建的函數(shù)名稱(chēng)。
判斷函數(shù)是否存在:function_exists(函數(shù)名稱(chēng));
變量的范圍
變量的能見(jiàn)度是指變量在程序中的可作用范圍。
大致上變量會(huì)依據(jù)聲明分為兩種:局部變量與全局變量
局部變量:
在函數(shù)之中聲明的變量就是局部變量,并且該變量只有在函數(shù)范圍之中才能加以使用。如果其它程序局部需要調(diào)用使用該變量值時(shí),必須透過(guò)「return」指令,來(lái)將其傳回至主程序區(qū)塊以作后續(xù)處理。
全局變量:
在函數(shù)范圍之外所聲明的變量就是全局變量。由于函數(shù)可以視為單獨(dú)的程序片段,所以局部變量會(huì)復(fù)蓋全局變量的能見(jiàn)度,因此在函數(shù)中并無(wú)法直接調(diào)用使用全局變量。
函數(shù)中若要使用全局變量時(shí),必須要利用global關(guān)鍵字定義目標(biāo)變量,以告訴函數(shù)主體此變量為全局。
也可以使用預(yù)定義的全局變量數(shù)組$GLOBALS.這是一個(gè)特殊變量在程序運(yùn)行時(shí)自動(dòng)創(chuàng)建。
echo $GLOBALS[“A”];
通過(guò)unset($var)可以手動(dòng)刪除變量,變量會(huì)在內(nèi)存中被釋放,也就不在全局作用域中了。
使用require與include包含不會(huì)影響作用域
靜態(tài)變量
聲明函數(shù)變量為靜態(tài)的(static)。
一個(gè)靜態(tài)變量在所有對(duì)該函數(shù)的調(diào)用之間共享,并且僅在腳本的執(zhí)行期間函數(shù)第一次被調(diào)用時(shí)被初始化。要聲明函數(shù)變量為靜態(tài)的用關(guān)鍵字static。通常,靜態(tài)變量的第一次使用時(shí)賦予一個(gè)初始值。
參數(shù)的傳遞
按值傳遞參數(shù):
父程序直接傳遞指定的值或是變量給函數(shù)使用。由于所傳遞的值或變量,與函數(shù)里的數(shù)值分別儲(chǔ)存于不同的內(nèi)存區(qū)塊,所以當(dāng)函數(shù)對(duì)所導(dǎo)入的數(shù)值作了任何變動(dòng)時(shí),并不會(huì)對(duì)父程序造成直接影響。
按址傳遞參數(shù)(用“&”符號(hào)實(shí)現(xiàn))
相對(duì)于按值傳遞模式,并不會(huì)將父程序中的指定數(shù)值或目標(biāo)變量傳遞給函數(shù),而是把該數(shù)值或變量的內(nèi)存儲(chǔ)存區(qū)塊相對(duì)地址導(dǎo)入函數(shù)之中。因此當(dāng)該數(shù)值在函數(shù)中有任何變動(dòng)時(shí),會(huì)連帶對(duì)父程序造成影響。
默認(rèn)參數(shù)
默認(rèn)參數(shù)必須列在所有沒(méi)有默認(rèn)值參數(shù)的后面。
function fun_sum($a,$b=0,$c=0){
return $a+$b+$c;
}
echo fun_sum(10,20);
echo fun_sum(10,20,30);
0為默認(rèn)參數(shù)
任意數(shù)量的參數(shù)列表
func_get_args() //返回一個(gè)數(shù)組,包含所有參數(shù)
func_num_args() //返回個(gè)數(shù)的參數(shù)總數(shù)
func_get_arg() //接收一個(gè)數(shù)字參數(shù),返回指定參數(shù) 按下標(biāo)查找數(shù)值
function foo()
{
$numargs = func_num_args();
echo "Number of arguments: $numargs<br />\n";
if ($numargs >= 2) {
echo "Second argument is: " . func_get_arg(1) . "<br />\n";
}
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
}
}
foo(1, 2, 3);
輸出結(jié)果:Number of arguments: 3
Second argument is: 2
Argument 0 is: 1
Argument 1 is: 2
Argument 2 is: 3
變量函數(shù)
這意味著如果一個(gè)變量名后有圓括號(hào),PHP 將尋找與變量的值同名的函數(shù),并且將嘗試執(zhí)行它。除了別的事情以外,這個(gè)可以被用于實(shí)現(xiàn)回調(diào)函數(shù),函數(shù)表等等。
遞歸調(diào)用
所謂的函數(shù)遞歸調(diào)用,就是函數(shù)可以在其聲明的執(zhí)行敘述之中調(diào)用執(zhí)行自己。
通常在此類(lèi)型的函數(shù)之中會(huì)附加一個(gè)條件判斷敘述,以判斷是否需要執(zhí)行遞歸調(diào)用,并且在特定條件下終止函數(shù)的遞歸調(diào)用動(dòng)作,把目前流程的主控權(quán)交回上一層函數(shù)執(zhí)行。因此當(dāng)某個(gè)執(zhí)行遞歸調(diào)用的函數(shù),沒(méi)有附加條件判斷敘述時(shí)可能會(huì)造成無(wú)限循環(huán)的錯(cuò)誤情形.
函數(shù)遞歸調(diào)用最大的好處在于可以精簡(jiǎn)程序中繁雜重復(fù)調(diào)用程序,并且能以這種特性來(lái)執(zhí)行一些較為復(fù)雜的運(yùn)算動(dòng)作。
此課件為phpchina教學(xué)課件
1210491967_9664e02c.rar
include()
require()
這兩個(gè)函數(shù)都是用來(lái)引用文件的,區(qū)別是當(dāng)處理失敗時(shí)include()產(chǎn)生一個(gè)警告而require()是一個(gè)致密錯(cuò)誤
include_once()
require_once()
這兩個(gè)函數(shù)與include()與require()是一樣的 ,區(qū)別是include_once與require_once只能引用一次
自定義函數(shù)
自定義函數(shù)用function()來(lái)聲明
函數(shù)的優(yōu)越性:
控制程序設(shè)計(jì)的復(fù)雜性
提高軟件的可靠性
提高軟件的開(kāi)發(fā)效率
提高軟件的可維護(hù)性
提高程序的重用性
自定義函數(shù)的語(yǔ)法格式:
function 函數(shù)名稱(chēng)(參數(shù)1,參數(shù)2){
程序的內(nèi)容敘述;
return;
}
函數(shù)名稱(chēng)(參數(shù)1,參數(shù)2);
return 返回值; //返回值也可以是一個(gè)表達(dá)式
自定義函數(shù)名不區(qū)分大小寫(xiě)。命名函數(shù)時(shí)不可使用已聲明的函數(shù),或PHP內(nèi)建的函數(shù)名稱(chēng)。
判斷函數(shù)是否存在:function_exists(函數(shù)名稱(chēng));
變量的范圍
變量的能見(jiàn)度是指變量在程序中的可作用范圍。
大致上變量會(huì)依據(jù)聲明分為兩種:局部變量與全局變量
局部變量:
在函數(shù)之中聲明的變量就是局部變量,并且該變量只有在函數(shù)范圍之中才能加以使用。如果其它程序局部需要調(diào)用使用該變量值時(shí),必須透過(guò)「return」指令,來(lái)將其傳回至主程序區(qū)塊以作后續(xù)處理。
全局變量:
在函數(shù)范圍之外所聲明的變量就是全局變量。由于函數(shù)可以視為單獨(dú)的程序片段,所以局部變量會(huì)復(fù)蓋全局變量的能見(jiàn)度,因此在函數(shù)中并無(wú)法直接調(diào)用使用全局變量。
函數(shù)中若要使用全局變量時(shí),必須要利用global關(guān)鍵字定義目標(biāo)變量,以告訴函數(shù)主體此變量為全局。
也可以使用預(yù)定義的全局變量數(shù)組$GLOBALS.這是一個(gè)特殊變量在程序運(yùn)行時(shí)自動(dòng)創(chuàng)建。
echo $GLOBALS[“A”];
通過(guò)unset($var)可以手動(dòng)刪除變量,變量會(huì)在內(nèi)存中被釋放,也就不在全局作用域中了。
使用require與include包含不會(huì)影響作用域
靜態(tài)變量
聲明函數(shù)變量為靜態(tài)的(static)。
一個(gè)靜態(tài)變量在所有對(duì)該函數(shù)的調(diào)用之間共享,并且僅在腳本的執(zhí)行期間函數(shù)第一次被調(diào)用時(shí)被初始化。要聲明函數(shù)變量為靜態(tài)的用關(guān)鍵字static。通常,靜態(tài)變量的第一次使用時(shí)賦予一個(gè)初始值。
參數(shù)的傳遞
按值傳遞參數(shù):
父程序直接傳遞指定的值或是變量給函數(shù)使用。由于所傳遞的值或變量,與函數(shù)里的數(shù)值分別儲(chǔ)存于不同的內(nèi)存區(qū)塊,所以當(dāng)函數(shù)對(duì)所導(dǎo)入的數(shù)值作了任何變動(dòng)時(shí),并不會(huì)對(duì)父程序造成直接影響。
按址傳遞參數(shù)(用“&”符號(hào)實(shí)現(xiàn))
相對(duì)于按值傳遞模式,并不會(huì)將父程序中的指定數(shù)值或目標(biāo)變量傳遞給函數(shù),而是把該數(shù)值或變量的內(nèi)存儲(chǔ)存區(qū)塊相對(duì)地址導(dǎo)入函數(shù)之中。因此當(dāng)該數(shù)值在函數(shù)中有任何變動(dòng)時(shí),會(huì)連帶對(duì)父程序造成影響。
默認(rèn)參數(shù)
默認(rèn)參數(shù)必須列在所有沒(méi)有默認(rèn)值參數(shù)的后面。
function fun_sum($a,$b=0,$c=0){
return $a+$b+$c;
}
echo fun_sum(10,20);
echo fun_sum(10,20,30);
0為默認(rèn)參數(shù)
任意數(shù)量的參數(shù)列表
func_get_args() //返回一個(gè)數(shù)組,包含所有參數(shù)
func_num_args() //返回個(gè)數(shù)的參數(shù)總數(shù)
func_get_arg() //接收一個(gè)數(shù)字參數(shù),返回指定參數(shù) 按下標(biāo)查找數(shù)值
function foo()
{
$numargs = func_num_args();
echo "Number of arguments: $numargs<br />\n";
if ($numargs >= 2) {
echo "Second argument is: " . func_get_arg(1) . "<br />\n";
}
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
}
}
foo(1, 2, 3);
輸出結(jié)果:Number of arguments: 3
Second argument is: 2
Argument 0 is: 1
Argument 1 is: 2
Argument 2 is: 3
變量函數(shù)
這意味著如果一個(gè)變量名后有圓括號(hào),PHP 將尋找與變量的值同名的函數(shù),并且將嘗試執(zhí)行它。除了別的事情以外,這個(gè)可以被用于實(shí)現(xiàn)回調(diào)函數(shù),函數(shù)表等等。
遞歸調(diào)用
所謂的函數(shù)遞歸調(diào)用,就是函數(shù)可以在其聲明的執(zhí)行敘述之中調(diào)用執(zhí)行自己。
通常在此類(lèi)型的函數(shù)之中會(huì)附加一個(gè)條件判斷敘述,以判斷是否需要執(zhí)行遞歸調(diào)用,并且在特定條件下終止函數(shù)的遞歸調(diào)用動(dòng)作,把目前流程的主控權(quán)交回上一層函數(shù)執(zhí)行。因此當(dāng)某個(gè)執(zhí)行遞歸調(diào)用的函數(shù),沒(méi)有附加條件判斷敘述時(shí)可能會(huì)造成無(wú)限循環(huán)的錯(cuò)誤情形.
函數(shù)遞歸調(diào)用最大的好處在于可以精簡(jiǎn)程序中繁雜重復(fù)調(diào)用程序,并且能以這種特性來(lái)執(zhí)行一些較為復(fù)雜的運(yùn)算動(dòng)作。
此課件為phpchina教學(xué)課件

相關(guān)文章
PHP5.0正式發(fā)布 不完全兼容PHP4 新增多項(xiàng)功能
PHP5.0正式發(fā)布 不完全兼容PHP4 新增多項(xiàng)功能...2006-10-10一步一步學(xué)習(xí)PHP(2)——PHP類(lèi)型
PHP類(lèi)型與大小寫(xiě)區(qū)分問(wèn)題。2010-02-02利用php來(lái)自動(dòng)調(diào)用不同服務(wù)器上的flash
利用php來(lái)自動(dòng)調(diào)用不同服務(wù)器上的flash...2006-10-10新手配置 PHP 調(diào)試環(huán)境(IIS+PHP+MYSQL)
新手配置 PHP 調(diào)試環(huán)境(IIS+PHP+MYSQL)...2007-01-01php基礎(chǔ)教程 php內(nèi)置函數(shù)實(shí)例教程
其實(shí)這些內(nèi)容在php手冊(cè)就可以學(xué)習(xí)的 但是很多php入門(mén)初學(xué)者對(duì)php手冊(cè)不知道怎么看 看也看不懂2012-08-08