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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

PAGE6PAGE6PAGE5PAGE5

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

溫馨提示

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

評論

0/150

提交評論