




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE8PAGE8PAGE9PAGE9
課題PHP變量與常量課時(shí)2課時(shí)(90min)教學(xué)目標(biāo)知識(shí)技能目標(biāo):(1)掌握PHP變量的命名、賦值和作用域(2)了解可變變量和預(yù)定義變量(3)掌握常量的聲明和使用(4)了解預(yù)定義常量素質(zhì)目標(biāo):(1)能夠意識(shí)到PHP應(yīng)用的價(jià)值,感受PHP開(kāi)發(fā)網(wǎng)站的實(shí)用性(2)培養(yǎng)學(xué)生的邏輯思維、辯證思維和創(chuàng)新思維能力教學(xué)重難點(diǎn)教學(xué)重點(diǎn):PHP變量的命名、賦值,可變變量和預(yù)定義變量,預(yù)定義常量教學(xué)難點(diǎn):PHP變量的作用域,常量的聲明和使用教學(xué)方法代碼分析法、演示法、問(wèn)答法、討論法、講授法、實(shí)踐法教學(xué)用具電腦、投影儀、多媒體課件、教材教學(xué)設(shè)計(jì)第1節(jié)課:→→→傳授新知(28min)→課堂討論(10min)第2節(jié)課:→任務(wù)實(shí)施(20min)→課堂討論(15min)→課堂小結(jié)(3min)→作業(yè)布置(2min)教學(xué)過(guò)程主要教學(xué)內(nèi)容及步驟設(shè)計(jì)意圖第一節(jié)課課前任務(wù)【教師】布置課前任務(wù),和學(xué)生負(fù)責(zé)人取得聯(lián)系,讓其提醒同學(xué)通過(guò)文旌課堂APP或其他學(xué)習(xí)軟件,預(yù)習(xí)本節(jié)課要學(xué)習(xí)的知識(shí)【學(xué)生】完成課前任務(wù)通過(guò)課前任務(wù),使學(xué)生預(yù)習(xí)本節(jié)課要學(xué)習(xí)的知識(shí),增加學(xué)生的學(xué)習(xí)興趣考勤(2min)【教師】使用文旌課堂APP進(jìn)行簽到【學(xué)生】班干部報(bào)請(qǐng)假人員及原因培養(yǎng)學(xué)生的組織紀(jì)律性,掌握學(xué)生的出勤情況問(wèn)題導(dǎo)入(5min)【教師】提出以下問(wèn)題:變量是什么,變量的作用是什么?通過(guò)問(wèn)題導(dǎo)入,引導(dǎo)學(xué)生主動(dòng)思考,激發(fā)學(xué)生的學(xué)習(xí)興趣傳授新知(28min)【教師】通過(guò)學(xué)生的回答引入要講的知識(shí),講解PHP變量的相關(guān)知識(shí)2.4PHP變量?【教師】掃碼播放“PHP變量”視頻,并結(jié)合視頻進(jìn)行講解變量就是一個(gè)保存了一小塊數(shù)據(jù)的“對(duì)象”,任何一種編程語(yǔ)言都需要變量。從變量的字面意思可以理解為該數(shù)據(jù)塊中的值是可以改變的,即在不同時(shí)段內(nèi)代表不同的實(shí)體。在PHP中,變量采用“$”符號(hào)加變量名的方式來(lái)定義:$var_name=9;2.4.1變量的命名一般的編程語(yǔ)言都會(huì)遵循變量聲明的某些規(guī)則。這些規(guī)則包括變量的最大長(zhǎng)度、能否包含數(shù)字或者字母、變量名是否能包含特殊字符,以及是否能以數(shù)字開(kāi)頭等。在PHP中,對(duì)變量名的長(zhǎng)度沒(méi)有任何限制,變量名中可以包含數(shù)字和字母等字符,但是需要滿足以下條件:變量名區(qū)分大小寫。變量名必須以字母或下畫線“_”開(kāi)頭,不能以數(shù)字開(kāi)頭。變量名只能包含字母和數(shù)字字符,以及下畫線。變量名不能包含空格。如果變量名由多個(gè)單詞組成,則應(yīng)使用下畫線進(jìn)行分隔,如$array_name;或者以大寫字母開(kāi)頭,如$arrayName。?【教師】提出問(wèn)題:你知道什么是關(guān)鍵字嗎??【學(xué)生】聆聽(tīng)、思考、回答?【教師】總結(jié)學(xué)生的回答PHP中有些標(biāo)識(shí)符是系統(tǒng)定義的,又叫關(guān)鍵字。與其他編程語(yǔ)言不同的是,PHP允許使用關(guān)鍵字作為變量名,但是這樣容易混淆,不建議這樣操作。在命名變量時(shí),最好使變量名具有一定的意義,能夠見(jiàn)名知義,這樣不僅有利于閱讀源代碼,也有利于對(duì)變量名的引用。2.4.2變量的賦值在PHP中使用變量前不需要聲明變量,也無(wú)須指定數(shù)據(jù)類型,只需為變量賦值即可。為變量賦值,是指給變量一個(gè)具體的數(shù)值。對(duì)于字符串和數(shù)字類型的變量,可以通過(guò)賦值運(yùn)算符“=”來(lái)實(shí)現(xiàn)。語(yǔ)法格式為$name=value;例如:<?php$myname="Kevin";$yourname="Henry";……?>除直接賦值外,還有兩種方式可以為變量賦值。傳值賦值:是變量間的賦值。通過(guò)“=”符號(hào)將某一個(gè)變量的值賦給另一個(gè)變量,使用這種方式賦值后兩個(gè)變量使用各自的內(nèi)存,互不干擾。引用賦值:從PHP4開(kāi)始,引入了“引用賦值”的概念,它是將賦值表達(dá)式內(nèi)存空間的引用賦給另一個(gè)變量,需要在“=”符號(hào)右側(cè)的變量前面加上一個(gè)“&”符號(hào)。在使用引用賦值時(shí),兩個(gè)變量將會(huì)指向內(nèi)存中同一存儲(chǔ)空間。因此任何一個(gè)變量的變化都會(huì)引起另外一個(gè)變量的變化。下面通過(guò)一個(gè)實(shí)例,來(lái)查看這兩種賦值方式的區(qū)別。?【教師】通過(guò)多媒體展示例2-13的代碼和運(yùn)行結(jié)果,并進(jìn)行講解<?phpecho"使用傳值方式賦值:</br>"; //輸出“使用傳值方式賦值”$string1="spcn"; //聲明變量$string1$string2=$string1; //使用$string1來(lái)初始化$string2echo"變量string1的值為:".$string1."<br/>"; //輸出變量string1的值echo"變量string2的值為:".$string2."<br/>"; //輸出變量string2的值$string1="zhuding"; //改變變量string1的值,變量string2的值不受影響echo"變量string1的值為:".$string1."<br/>"; //輸出變量string1的值echo"變量string2的值為:".$string2."<br/>"; //輸出變量string2的值echo"使用引用方式賦值:</br>"; //輸出“使用引用方式賦值”$string1="spcn"; //聲明變量$string1$string2=&$string1; //使用$string1來(lái)初始化$string2echo"變量string1的值為:".$string1."<br/>"; //輸出變量string1的值echo"變量string2的值為:".$string2."<br/>"; //輸出變量string2的值$string1="zhuding"; //改變變量string1在內(nèi)存空間中存儲(chǔ)的內(nèi)容,變量string2也指向該空間,string2的值也發(fā)生變化echo"變量string1的值為:".$string1."<br/>"; //輸出變量string1的值echo"變量string2的值為:".$string2."<br/>"; //輸出變量string2的值?>傳值賦值和引用賦值的區(qū)別是,傳值賦值是將原變量?jī)?nèi)容復(fù)制一份,并開(kāi)辟一個(gè)新的內(nèi)存空間來(lái)保存,而引用賦值則是給變量的內(nèi)容再起一個(gè)名字。2.4.3變量的作用域在PHP中的任何位置都可以聲明變量,但是,聲明變量的位置決定了訪問(wèn)變量的范圍,這個(gè)可以訪問(wèn)的范圍就稱為變量的作用域。如果變量超出了作用域,就失去了其意義。按照變量作用域的不同,可以將PHP中的變量分為局部變量、全局變量和靜態(tài)變量。局部變量:在函數(shù)內(nèi)部聲明的變量,其作用域是所在函數(shù)(第4章將詳細(xì)介紹函數(shù)的相關(guān)知識(shí))。它保存在內(nèi)存的棧中,訪問(wèn)速度很快。全局變量:在所有函數(shù)外聲明的變量,其作用域是整個(gè)PHP文件,但在用戶自定義函數(shù)內(nèi)部不可用。如果要在用戶自定義函數(shù)內(nèi)部使用某個(gè)全局變量,就要使用global關(guān)鍵字聲明該全局變量。靜態(tài)變量:是一種特殊的局部變量,只存在于函數(shù)作用域內(nèi),也就是說(shuō),靜態(tài)變量只存活在棧中。一般的函數(shù)內(nèi)變量,在函數(shù)調(diào)用結(jié)束后其存儲(chǔ)的數(shù)據(jù)值即被清除,所占的內(nèi)存空間也被釋放;但是靜態(tài)變量卻不會(huì),它能夠在函數(shù)調(diào)用結(jié)束后仍保留變量值,當(dāng)再次回到其作用域時(shí),又可以繼續(xù)使用原來(lái)的值。把關(guān)鍵字static放在要定義的變量前,該變量就變?yōu)殪o態(tài)變量了。?【教師】通過(guò)多媒體展示例2-14的代碼和運(yùn)行結(jié)果,并進(jìn)行講解<?php$x=10;functiontest(){$x=50;echo"在函數(shù)內(nèi)輸出的內(nèi)容是:$x.</br>";}test();echo"在函數(shù)外輸出的內(nèi)容是:$x.</br>";?>從運(yùn)行結(jié)果可以看出,分別在函數(shù)內(nèi)外定義的變量$x,在函數(shù)內(nèi)部使用的是自己定義的局部變量$x;而在函數(shù)調(diào)用結(jié)束后,函數(shù)內(nèi)部定義的局部變量$x銷毀,輸出的是全局變量$x的值。如果要在函數(shù)內(nèi)改變?nèi)肿兞?x的值,可以使用關(guān)鍵字global。?【教師】通過(guò)多媒體展示例2-15的代碼和運(yùn)行結(jié)果,并講解知識(shí)<?php$x=10;functiontest(){global$x;$x=50;}test();echo$x;?>這是因?yàn)樵诤瘮?shù)test()中已經(jīng)將變量$x定義成了全局變量,在程序運(yùn)行到test()時(shí),將調(diào)用test()函數(shù),并執(zhí)行對(duì)$x賦值50的操作,這樣,在輸出時(shí)就輸出了50。靜態(tài)變量經(jīng)常被用到。例如,在博客中使用靜態(tài)變量記錄瀏覽者數(shù)量,在聊天室中記錄用戶的聊天內(nèi)容等。?【教師】通過(guò)多媒體展示例2-16的代碼和運(yùn)行結(jié)果,并進(jìn)行講解<?phpfunctionjtbl(){static$message=0;$message+=1;echo$message."";}functionptbl(){$message=0; $message+=1; echo$message."";}for($i=0;$i<10;$i++) jtbl();echo"<p>";for($i=0;$i<10;$i++) ptbl();echo"<br>";?>自定義函數(shù)jtbl()輸出1~10共10個(gè)數(shù)字,而ptbl()函數(shù)則輸出10個(gè)1。這是由于函數(shù)jtbl()含有靜態(tài)變量$message,而函數(shù)ptbl()中的$message是一個(gè)普通變量,兩個(gè)變量初始化都為0。當(dāng)分別使用for循環(huán)調(diào)用兩個(gè)函數(shù)時(shí),函數(shù)jtbl()在被調(diào)用后保留了靜態(tài)變量$message中的值,而靜態(tài)變量的初始化只是在函數(shù)第一次調(diào)用時(shí)被執(zhí)行,以后就不再執(zhí)行初始化操作了,也就是說(shuō)將會(huì)略過(guò)上述第3行代碼;而函數(shù)ptbl()在被調(diào)用后,其變量$message失去了原來(lái)的值,重新被初始化為0。2.4.4可變變量可變變量是指使用一個(gè)變量的值作為變量的名稱。它是一種特殊的變量,實(shí)現(xiàn)過(guò)程是在變量名前面再多加一個(gè)“$”符號(hào)。有時(shí)候可變變量名會(huì)給編程帶來(lái)很大的方便。?【教師】通過(guò)多媒體展示例2-17的代碼和運(yùn)行結(jié)果,并進(jìn)行講解<?php$change_name="casual"; //聲明變量$change_name$casual="Iliketosing!"; //聲明變量$casualecho$change_name; //輸出變量$change_nameecho"<p>";echo$$change_name; //通過(guò)可變變量輸出$casual的值?>在PHP的函數(shù)和類的方法中,超全局變量不能用作可變變量。$this變量是個(gè)特殊變量,不能被動(dòng)態(tài)引用。2.4.5預(yù)定義變量?【教師】通過(guò)多媒體展示“常用預(yù)定義變量”表,并結(jié)合表格講解知識(shí)PHP提供了大量的預(yù)定義變量。通過(guò)這些預(yù)定義變量可以獲取用戶會(huì)話、客戶機(jī)操作系統(tǒng)的環(huán)境信息和服務(wù)器操作系統(tǒng)的環(huán)境信息。常用預(yù)定義變量變量名說(shuō)明$GLOBALS$_GET包含通過(guò)GET方法傳遞的參數(shù)的相關(guān)信息,主要用于獲取通過(guò)GET方法提交的數(shù)據(jù)$_POST包含通過(guò)POST方法傳遞的參數(shù)的相關(guān)信息,主要用于獲取通過(guò)POST方法提交的數(shù)據(jù)$_COOKIE通過(guò)HTTPCookies傳遞到腳本的信息$_SESSION主要用于會(huì)話控制和頁(yè)面間值的傳遞,包含與所有會(huì)話變量相關(guān)的信息$_SERVER[‘SERVER_ADDR’]當(dāng)前運(yùn)行腳本所在服務(wù)器的IP地址$_SERVER[‘SERVER_NAME’]當(dāng)前運(yùn)行腳本所在服務(wù)器的主機(jī)名稱,如果該腳本運(yùn)行在一個(gè)虛擬主機(jī)上,則該名稱由虛擬主機(jī)所設(shè)置的值決定$_SERVER[‘SERVER_PORT’]服務(wù)器所使用的端口,默認(rèn)值為80$_SERVER[‘SERVER_SIGNATURE’]包含服務(wù)器版本和虛擬主機(jī)名的字符串$_SERVER[‘REMOTE_ADDR’]正在瀏覽當(dāng)前頁(yè)面的用戶的IP地址$_SERVER[‘REMOTE_HOST’]正在瀏覽當(dāng)前頁(yè)面的用戶的主機(jī)名$_SERVER[‘REMOTE_PORT’]用戶連接到服務(wù)器所使用的端口$_SERVER[‘REQUEST_METHOD’]$_SERVER[‘DOCUMENT_ROOT’]當(dāng)前運(yùn)行腳本所在的文檔根目錄$_SERVER[‘SCRIPT_FILENAME’]當(dāng)前執(zhí)行腳本的絕對(duì)路徑【學(xué)生】聆聽(tīng)、理解、記憶通過(guò)教師的講解和演示,幫助學(xué)生了解PHP變量的命名、賦值和作用域,以及可變變量和預(yù)定義變量的相關(guān)知識(shí)課堂討論(10min)【教師】組織學(xué)生以小組為單位討論以下問(wèn)題:(1)變量的本質(zhì)是什么?(2)在PHP中,變量的命名需要滿足哪些條件?(3)如何為變量賦值?(4)靜態(tài)變量和可變變量的作用分別是什么?【學(xué)生】聆聽(tīng)、思考、小組討論,由小組代表上臺(tái)發(fā)表討論結(jié)果【教師】與學(xué)生一起評(píng)價(jià)各組的發(fā)言,并進(jìn)行總結(jié)通過(guò)課堂討論,鞏固所學(xué)知識(shí),加深學(xué)生對(duì)變量的理解第二節(jié)課問(wèn)題導(dǎo)入(5min)【教師】提出以下問(wèn)題:計(jì)算機(jī)中的常量和變量有什么區(qū)別呢?【學(xué)生】思考、舉手回答通過(guò)問(wèn)題導(dǎo)入,引導(dǎo)學(xué)生主動(dòng)思考,激發(fā)學(xué)生的學(xué)習(xí)興趣傳授新知(20min)【教師】通過(guò)學(xué)生的回答引入新知,介紹PHP常量的相關(guān)知識(shí)2.5PHP常量常量可以理解為值不變的量。常量在使用前必須先定義,并且只能是標(biāo)量值(布爾型、整型、浮點(diǎn)型、字符串型)。常量值被定義后,在整個(gè)腳本執(zhí)行期間不改變。一般常量名由英文字母和下畫線開(kāi)頭,后面可以跟任何字母、數(shù)字或下畫線。?【教師】進(jìn)行提示:默認(rèn)情況下,常量大小寫敏感,一般推薦大寫,注意不加“$”符號(hào)。?【學(xué)生】理解、記憶2.5.1常量的聲明和使用在PHP中使用define()函數(shù)來(lái)定義常量,該函數(shù)語(yǔ)法為booldefine(string$constant_name,mixed$value[,bool$case_insensitive=false])該函數(shù)有3個(gè)參數(shù),constant_name為必選參數(shù),代表常量名稱;value也為必選參數(shù),代表常量值或表達(dá)式;case_insensitive為可選參數(shù),指定是否大小寫敏感。如果case_insensitive參數(shù)設(shè)置為true,則該常量大小寫不敏感;默認(rèn)為false,表示大小寫敏感。獲取常量值有兩種方法:一種是使用常量名直接獲?。涣硪环N是使用constant()函數(shù)。這兩種方法輸出的效果是一樣的,但使用constant()函數(shù)可以動(dòng)態(tài)地輸出不同的常量,要靈活方便得多。該函數(shù)的語(yǔ)法格式為mixedconstant(string$constant_name)參數(shù)constant_name為要獲取常量的名稱,也可為存儲(chǔ)常量的變量。如果成功則返回常量值,否則提示錯(cuò)誤信息。要判斷一個(gè)常量是否被定義,可以使用defined()函數(shù)。語(yǔ)法格式為booldefined(string$constant_name)參數(shù)constant_name為要獲取常量的名稱,成功則返回true,否則返回false。?【教師】通過(guò)多媒體展示例2-18的代碼和運(yùn)行結(jié)果,并進(jìn)行講解為更好地理解如何定義常量,這里給出一個(gè)實(shí)例。實(shí)例中共用到define()函數(shù)、constant()函數(shù)和defined()函數(shù)3個(gè)函數(shù)。使用define()函數(shù)來(lái)定義一個(gè)常量,使用constant()函數(shù)來(lái)動(dòng)態(tài)獲取常量值,使用defined()函數(shù)判斷常量是否被定義。<?phpdefine("PI","3.1415926"); //定義常量,一般常量名采用大寫echoPI."<br>"; //輸出常量PIechopi."<br>"; //常量定義時(shí)名字是大寫,此處使用小寫,程序不會(huì)把pi作為常量處理define("COUNT","大小寫不敏感的字符串",true);//定義常量,并設(shè)置為不區(qū)分大小寫echoCOUNT."<br>"; //輸出常量COUNTechoCount."<br>"; //由于設(shè)定了大小寫不敏感,輸出常量COUNT$name="count";echoconstant($name)."<br>"; //輸出常量COUNTecho(defined("PI"))."<br>"; //如果常量已被定義,則返回true,即顯示1?>2.5.2預(yù)定義常量?【教師】通過(guò)多媒體展示“常用預(yù)定義常量”表,并結(jié)合表格進(jìn)行講解在PHP中,可以使用預(yù)定義常量獲取信息。常用預(yù)定義常量常量名說(shuō)明__FILE__默認(rèn)常量,文件的完整路徑和文件名__LINE__默認(rèn)常量,PHP程序當(dāng)前行數(shù)__FUNCTION__函數(shù)名稱(這是PHP4.3.0新加的)PHP_VERSION內(nèi)建常量,PHP程序的版本,如4.3.0PHP_OS內(nèi)建常量,執(zhí)行PHP解析器的操作系統(tǒng)名稱,如WindowsTRUE該常量是真值(true)FALSE該常量是假值(false)E_ERROR該
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025湖南懷化市會(huì)同縣招聘事業(yè)單位工作人員7人模擬試卷及答案詳解(名校卷)
- 2025年福建省福清市中醫(yī)院招聘18人模擬試卷及答案詳解(全優(yōu))
- 2025年福建省泉州文旅集團(tuán)招聘3人考前自測(cè)高頻考點(diǎn)模擬試題附答案詳解(黃金題型)
- 2025江西中小學(xué)教師招聘考試南昌考區(qū)模擬試卷及一套答案詳解
- 2025年臨沂蘭陵縣教育系統(tǒng)部分事業(yè)單位公開(kāi)招聘教師(5人)模擬試卷帶答案詳解
- 2025年河南中醫(yī)藥大學(xué)招聘高層次人才83人+考前自測(cè)高頻考點(diǎn)模擬試題及完整答案詳解
- 2025廣西貴港市公安局港北分局招聘警務(wù)輔助人員62人考前自測(cè)高頻考點(diǎn)模擬試題及參考答案詳解
- 2025河南新鄉(xiāng)事業(yè)單位招錄203人考前自測(cè)高頻考點(diǎn)模擬試題及1套完整答案詳解
- 2025內(nèi)蒙古土地資源收儲(chǔ)投資(集團(tuán))有限公司常態(tài)化招聘急需緊缺專業(yè)人員50人模擬試卷及答案詳解(考點(diǎn)梳理)
- 2025甘肅隴南市人民檢察院招聘司法警察輔助人員5人考前自測(cè)高頻考點(diǎn)模擬試題及答案詳解(奪冠)
- 廣西檢測(cè)協(xié)會(huì)試題(鋼結(jié)構(gòu)檢測(cè)綜合)判斷題(1-375)
- 醫(yī)院感染判定標(biāo)準(zhǔn)與流程
- 我的祖國(guó)音樂(lè)教學(xué)課件
- 中醫(yī)學(xué)課件幻燈片模板
- (高清版)DB11∕T 2440-2025 學(xué)校食堂病媒生物防制規(guī)范
- 青少年亞文化現(xiàn)象解析-洞察闡釋
- 化肥產(chǎn)品生產(chǎn)許可證實(shí)施細(xì)則(二)(磷肥產(chǎn)品部分)
- 移動(dòng)支付網(wǎng)絡(luò)安全學(xué)習(xí)心得體會(huì)
- 茶評(píng)員職業(yè)技能競(jìng)賽考試題庫(kù)-下(多選、判斷題部分)
- 護(hù)士職業(yè)素養(yǎng)課件下載
- 2025年重慶文化旅游集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論