《PHP Web應(yīng)用開發(fā)案例教程》630-9(阮云蘭)教案 第6課 PHP自定義函數(shù)_第1頁
《PHP Web應(yīng)用開發(fā)案例教程》630-9(阮云蘭)教案 第6課 PHP自定義函數(shù)_第2頁
《PHP Web應(yīng)用開發(fā)案例教程》630-9(阮云蘭)教案 第6課 PHP自定義函數(shù)_第3頁
《PHP Web應(yīng)用開發(fā)案例教程》630-9(阮云蘭)教案 第6課 PHP自定義函數(shù)_第4頁
《PHP Web應(yīng)用開發(fā)案例教程》630-9(阮云蘭)教案 第6課 PHP自定義函數(shù)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PAGE6PAGE6PAGE5PAGE5

課題PHP自定義函數(shù)課時(shí)2課時(shí)(90min)教學(xué)目標(biāo)知識技能目標(biāo):(1)掌握定義和調(diào)用函數(shù)的方法(2)掌握在函數(shù)間傳遞參數(shù)的3種方法(3)掌握使用return語句從函數(shù)中返回值的方法素質(zhì)目標(biāo):(1)能夠領(lǐng)會PHP自定義函數(shù)在生活中的實(shí)際作用(2)培養(yǎng)學(xué)生的邏輯思維、辯證思維和創(chuàng)新思維能力(3)激發(fā)樂于奉獻(xiàn)、心系國家建設(shè)、勇?lián)鷷r(shí)代使命的愛國情懷教學(xué)重難點(diǎn)教學(xué)重點(diǎn):定義和調(diào)用函數(shù)的方法教學(xué)難點(diǎn):return語句從函數(shù)中返回值教學(xué)方法案例分析法、問答法、討論法、講授法、實(shí)踐法教學(xué)用具電腦、投影儀、多媒體課件、教材教學(xué)設(shè)計(jì)第1節(jié)課:→→→傳授新知(38min)第2節(jié)課:→傳授新知(20min)→課堂實(shí)訓(xùn)(15min)→課堂小結(jié)(3min)→作業(yè)布置(2min)教學(xué)過程主要教學(xué)內(nèi)容及步驟設(shè)計(jì)意圖第一節(jié)課課前任務(wù)【教師】布置課前任務(wù),和學(xué)生負(fù)責(zé)人取得聯(lián)系,讓其提醒同學(xué)通過文旌課堂APP或其他學(xué)習(xí)軟件,預(yù)習(xí)本節(jié)課要學(xué)習(xí)的知識【學(xué)生】完成課前任務(wù)通過課前任務(wù),使學(xué)生預(yù)習(xí)本節(jié)課要學(xué)習(xí)的知識,增加學(xué)生的學(xué)習(xí)興趣考勤(2min)【教師】使用文旌課堂APP進(jìn)行簽到【學(xué)生】班干部報(bào)請假人員及原因培養(yǎng)學(xué)生的組織紀(jì)律性,掌握學(xué)生的出勤情況問題導(dǎo)入(5min)【教師】提出以下問題:以前學(xué)過的數(shù)學(xué)中對函數(shù)的定義是什么?你知道PHP中的函數(shù)和數(shù)學(xué)上所說的函數(shù)一樣嗎?通過問題導(dǎo)入,引導(dǎo)學(xué)生主動思考,激發(fā)學(xué)生的學(xué)習(xí)興趣傳授新知(38min)【教師】通過學(xué)生的回答引入要講的知識,講解PHP中的自定義函數(shù)的定義和調(diào)用4.1自定義函數(shù)在程序開發(fā)過程中,經(jīng)常需要重復(fù)某種操作或處理,如數(shù)據(jù)查詢、字符操作等。這些重復(fù)的操作可以通過函數(shù)來實(shí)現(xiàn)。PHP函數(shù)主要分為自定義函數(shù)和內(nèi)置函數(shù)。下面首先介紹自定義函數(shù)。?【教師】講解“知類通達(dá)”內(nèi)容使用函數(shù)可以將復(fù)雜的大問題分解成一系列簡單的小問題,而后將小問題繼續(xù)分解成更小的問題,當(dāng)問題細(xì)化到足夠簡單時(shí),就能分而治之,為每個(gè)小問題編寫程序,并通過函數(shù)封裝,當(dāng)每個(gè)小問題都解決了,大問題也就解決了。從某種意義上講,國家是由個(gè)人組成的,每個(gè)人都為國家建設(shè)出一份力,我們的國家會變得更加強(qiáng)大,人民的生活也會更加美好。4.1.1定義和調(diào)用函數(shù)1.定義函數(shù)?【教師】安排學(xué)生掃碼觀看視頻“定義和調(diào)用函數(shù)”,講解知識?【學(xué)生】掃碼觀看、理解、記憶函數(shù)一般由函數(shù)名、參數(shù)、函數(shù)體和返回值4部分組成。函數(shù)體是實(shí)現(xiàn)函數(shù)功能的代碼段,它可以是任何有效的PHP代碼。函數(shù)的基本語法格式如下:functionfun_name($str1,$str2,…$strn){fun_body;//函數(shù)體,實(shí)現(xiàn)函數(shù)功能的代碼段return$value;//返回值}其中各項(xiàng)的意義如下:function:自定義函數(shù)時(shí)必須要用到的關(guān)鍵字。fun_name:自定義函數(shù)的名稱,必須以字母或下畫線開頭,后面可以跟字母、數(shù)字或下畫線。函數(shù)名具有唯一性,并且在PHP中不區(qū)分大小寫。$str1,$str2,…$strn:函數(shù)的參數(shù)。函數(shù)可以沒有參數(shù),也可以有一個(gè)或多個(gè)參數(shù)。其作用范圍為函數(shù)體內(nèi),相當(dāng)于局部變量。return$value:函數(shù)的返回值語句,并不是所有函數(shù)都需要該語句。函數(shù)執(zhí)行到該語句即結(jié)束,所以不要在其后寫任何代碼。2.調(diào)用函數(shù)函數(shù)在頁面加載時(shí)不會立即執(zhí)行。要執(zhí)行函數(shù),定義函數(shù)后還必須要調(diào)用該函數(shù)。下面通過一個(gè)實(shí)例來了解一下函數(shù)的定義和調(diào)用。?【教師】通過多媒體展示例4-1的代碼和運(yùn)行結(jié)果,并進(jìn)行講解函數(shù)的定義和調(diào)用。本例定義一個(gè)函數(shù)square(),計(jì)算傳入的參數(shù)的平方,然后連同表達(dá)式和結(jié)果一起輸出。實(shí)例代碼如下:<?phpfunctionsquare($num){return"$num*$num=".$num*$num;//返回計(jì)算后的結(jié)果}echosquare(6); //調(diào)用函數(shù)?>函數(shù)中的每個(gè)參數(shù)都是一個(gè)表達(dá)式,定義時(shí)稱為形參,調(diào)用時(shí)輸入的實(shí)際值稱為實(shí)參。實(shí)參和形參應(yīng)該個(gè)數(shù)相等,類型一致。形參和實(shí)參按順序?qū)?yīng)傳遞數(shù)據(jù)。在調(diào)用函數(shù)時(shí)需要注意以下幾點(diǎn)。通過函數(shù)名進(jìn)行調(diào)用,可以在函數(shù)聲明之前,也可以在聲明之后進(jìn)行調(diào)用。當(dāng)函數(shù)有參數(shù)列表時(shí),可以通過傳遞參數(shù)改變函數(shù)內(nèi)部代碼的執(zhí)行行為。當(dāng)函數(shù)有返回值時(shí),在函數(shù)執(zhí)行完畢后,可以將函數(shù)名當(dāng)作保存返回值的變量來使用。4.1.2在函數(shù)間傳遞參數(shù)?【教師】安排學(xué)生掃碼觀看視頻“在函數(shù)間傳遞參數(shù)”,講解知識?【學(xué)生】掃碼觀看、理解、記憶函數(shù)如果帶有參數(shù),則在調(diào)用函數(shù)時(shí)需要向其傳遞數(shù)據(jù)。在PHP中,函數(shù)間參數(shù)傳遞的方式有按值傳遞、按引用傳遞和默認(rèn)參數(shù)3種。1.按值傳遞參數(shù)按值傳遞是函數(shù)默認(rèn)的參數(shù)傳遞方式,即將實(shí)參賦值給對應(yīng)的形參。該方式的特點(diǎn)是,在函數(shù)內(nèi)部對形參的任何操作對實(shí)參值都不會產(chǎn)生影響。?【教師】通過多媒體展示例4-2的代碼和運(yùn)行結(jié)果,并進(jìn)行講解函數(shù)按值傳遞參數(shù)。實(shí)例代碼如下:<?phpfunctiontest($var){//聲明自定義函數(shù)$var++;//改變局部變量形參的值echo"Intest:".$var."<br>";}$var=89; //聲明全局變量echo$var."<br>"; //函數(shù)外部調(diào)用test()函數(shù)前,$var=89test($var); //函數(shù)內(nèi)部,$var=90echo$var."<br>"; //函數(shù)外部調(diào)用test()函數(shù)后,$var=89?>2.按引用傳遞參數(shù)按引用傳遞參數(shù)就是將實(shí)參在內(nèi)存中分配的地址傳遞給形參。這樣在函數(shù)內(nèi)部所有對形參的操作都會影響實(shí)參的值。也就是說,在函數(shù)內(nèi)部修改了形參的值,函數(shù)調(diào)用結(jié)束后實(shí)參值也會發(fā)生改變。引用傳遞方式需要在函數(shù)定義時(shí)在形參前加上“&”符號。?【教師】通過多媒體展示例4-3的代碼和運(yùn)行結(jié)果,并進(jìn)行講解函數(shù)按引用傳遞參數(shù)。實(shí)例代碼如下:<?phpfunctiontest(&$var){ //聲明自定義函數(shù),參數(shù)前多了&,表示按引用傳遞$var++; //改變形參的值,實(shí)參值也會發(fā)生改變echo"Intest:".$var."<br>";}$var=1;echo$var."<br>"; //函數(shù)外部調(diào)用test()函數(shù)前,$var=1test($var); //函數(shù)內(nèi)部,$var=2echo$var."<br>"; //函數(shù)外部調(diào)用test()函數(shù)后,$var=2?>3.默認(rèn)參數(shù)(可選參數(shù))在PHP中定義函數(shù)時(shí),還可以為一個(gè)或多個(gè)形參指定默認(rèn)值。默認(rèn)值必須是常量或者NULL。在使用默認(rèn)參數(shù)(又稱可選參數(shù))時(shí),必須將其放在任何非默認(rèn)參數(shù)右側(cè)。?【教師】通過多媒體展示例4-4的代碼和運(yùn)行結(jié)果,并進(jìn)行講解函數(shù)的定義和調(diào)用。本例定義一個(gè)函數(shù)square(),計(jì)算傳入的參數(shù)的平方,然后連同表達(dá)式和結(jié)果一起輸出。實(shí)例代碼如下:<?phpfunctionvalues($price,$tax=10){ //聲明一個(gè)自定義函數(shù),其中一個(gè)參數(shù)初始值為10$price+=$price*$tax; //聲明一個(gè)變量$price,等于兩個(gè)參數(shù)的運(yùn)算結(jié)果echo"TotalPrice:".$price."<br>"; //輸出總價(jià)格}values(100,0.25); //為默認(rèn)參數(shù)賦值0.25values(100); //不為默認(rèn)參數(shù)賦值,此時(shí)其將按照默認(rèn)值計(jì)算?>【學(xué)生】聆聽、思考、記錄通過教師的講解和演示,使學(xué)生了解PHP中的自定義函數(shù)的格式,以及自定義函數(shù)的調(diào)用第二節(jié)課問題導(dǎo)入(5min)【教師】提出以下問題:你所了解的函數(shù)有哪些類型?【學(xué)生】思考、舉手回答通過問題導(dǎo)入,引導(dǎo)學(xué)生主動思考,激發(fā)學(xué)生的學(xué)習(xí)興趣傳授新知(20min)【教師】通過學(xué)生的回答引入新知,介紹PHP中自定義函數(shù)的相關(guān)知識4.1.3從函數(shù)中返回值通常,函數(shù)在執(zhí)行完畢后,可返回一個(gè)值給其調(diào)用者,該值稱為函數(shù)的返回值。return語句的作用就是將函數(shù)返回值傳遞給函數(shù)調(diào)用者,并終止函數(shù)的執(zhí)行。return語句只能返回一個(gè)值,如果需要返回多個(gè)值,就要在函數(shù)中定義一個(gè)數(shù)組,將返回值存儲在數(shù)組中;如果不需要返回任何值,只需結(jié)束函數(shù)的執(zhí)行,可以只使用return。?【教師】通過多媒體展示例4-5的代碼和運(yùn)行結(jié)果,并進(jìn)行講解函數(shù)返回值的應(yīng)用。實(shí)例代碼如下:<?phpfunctiondivision($num1,$num2) //聲明自定義函數(shù){ if($num2!=0){ //如果變量$num2不等于0 return$num1/$num2; //返回兩個(gè)變量相除得到的值 }else{ return'0不能為除數(shù)'; //否則返回字符串 }}echodivision(88,4)."<br>"; //調(diào)用函數(shù)echodivision(10,0)."<br>"; //調(diào)用函數(shù)?>4.1.4對函數(shù)的引用參數(shù)傳遞中按引用傳遞方式可以修改實(shí)參的值。而引用不僅可用于普通變量、普通參數(shù),還可用于函數(shù)本身。對函數(shù)的引用,就是對函數(shù)返回結(jié)果的引用。通過在函數(shù)名前加“&”符號,可以實(shí)現(xiàn)對函數(shù)的引用。?【教師】通過多媒體展示例4-6的代碼和運(yùn)行結(jié)果,并進(jìn)行講解對函數(shù)的引用。實(shí)例代碼如下:<?phpfunction&fun($temp_str=0){ //聲明自定義函數(shù)return$temp_str; //返回變量$temp_str的值}$str=&fun("函數(shù)引用");echo$str."br";?>和參數(shù)引用傳遞不同,對函數(shù)的引用,必須在定義和調(diào)用函數(shù)時(shí)都使用“&”符號。4.1.5變量函數(shù)PHP支持變量函數(shù),這意味著如果一個(gè)變量名后有圓括號,PHP將尋找與變量值同名的函數(shù),并嘗試執(zhí)行它。如果找不到對應(yīng)的函數(shù),系統(tǒng)將會報(bào)錯。該技術(shù)可用于實(shí)現(xiàn)回調(diào)函數(shù)和函數(shù)表等。?【教師】通過多媒體展示例4-7的代碼和運(yùn)行結(jié)果,并進(jìn)行講解變量函數(shù)的應(yīng)用。實(shí)例代碼如下:<?phpfunctionfoo(){ //聲明foo()函數(shù)echo"調(diào)用foo()函數(shù)<br>\n";}functionbar($arg=''){ //聲明bar()函數(shù)echo"調(diào)用bar()函數(shù);argumentwas'$arg'.<br/>\n";}functionechoit($string){ //聲明echoit()函數(shù)echo$string;}$func='foo'; //將foo()函數(shù)名賦值給變量$func(); //調(diào)用該變量值同名函數(shù)并執(zhí)行,即調(diào)用foo()函數(shù)$func='bar'; //重新賦值$func('test'); //調(diào)用bar()函數(shù),并給變量賦值$func='echoit'; //重新賦值$func('test'); //調(diào)用echoit()函數(shù)?>4.1.6遞歸函數(shù)遞歸函數(shù)即為自調(diào)用函數(shù),在函數(shù)體內(nèi)直接或間接調(diào)用自己,但需要設(shè)置自調(diào)用的條件,若滿足條件,則調(diào)用函數(shù)本身;若不滿足則終止本函數(shù)的自調(diào)用,然后把目前流程的主控權(quán)交回給上一層函數(shù)。?【教師】通過多媒體展示例4-8的代碼和運(yùn)行結(jié)果,并進(jìn)行講解遞歸函數(shù)的應(yīng)用。實(shí)例代碼如下:<?phpfunctionread($n){ //聲明自定義函數(shù)echo"$n "; //函數(shù)體內(nèi)的可執(zhí)行語句,顯示實(shí)參值if($n>0) //根據(jù)條件判斷是執(zhí)行還是終止遞歸動作read($n-1); //開始遞歸,并給出附加條件改變變量值,防止死循環(huán)}read(6); //6543210?>【學(xué)生】聆聽、理解、記錄通過教師的講解和演示,使學(xué)生了解PHP中函數(shù)的調(diào)用規(guī)則和一些特殊函數(shù)課堂實(shí)訓(xùn)(15min)【教師】組織學(xué)生根據(jù)步驟提示,定義計(jì)算三角形面積的函數(shù)編寫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論