版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
PAGE8PAGE8PAGE9PAGE9
課題PHP變量與常量課時2課時(90min)教學目標知識技能目標:(1)掌握PHP變量的命名、賦值和作用域(2)了解可變變量和預定義變量(3)掌握常量的聲明和使用(4)了解預定義常量素質(zhì)目標:(1)能夠意識到PHP應用的價值,感受PHP開發(fā)網(wǎng)站的實用性(2)培養(yǎng)學生的邏輯思維、辯證思維和創(chuàng)新思維能力教學重難點教學重點:PHP變量的命名、賦值,可變變量和預定義變量,預定義常量教學難點:PHP變量的作用域,常量的聲明和使用教學方法代碼分析法、演示法、問答法、討論法、講授法、實踐法教學用具電腦、投影儀、多媒體課件、教材教學設計第1節(jié)課:→→→傳授新知(28min)→課堂討論(10min)第2節(jié)課:→任務實施(20min)→課堂討論(15min)→課堂小結(3min)→作業(yè)布置(2min)教學過程主要教學內(nèi)容及步驟設計意圖第一節(jié)課課前任務【教師】布置課前任務,和學生負責人取得聯(lián)系,讓其提醒同學通過文旌課堂APP或其他學習軟件,預習本節(jié)課要學習的知識【學生】完成課前任務通過課前任務,使學生預習本節(jié)課要學習的知識,增加學生的學習興趣考勤(2min)【教師】使用文旌課堂APP進行簽到【學生】班干部報請假人員及原因培養(yǎng)學生的組織紀律性,掌握學生的出勤情況問題導入(5min)【教師】提出以下問題:變量是什么,變量的作用是什么?通過問題導入,引導學生主動思考,激發(fā)學生的學習興趣傳授新知(28min)【教師】通過學生的回答引入要講的知識,講解PHP變量的相關知識2.4PHP變量?【教師】掃碼播放“PHP變量”視頻,并結合視頻進行講解變量就是一個保存了一小塊數(shù)據(jù)的“對象”,任何一種編程語言都需要變量。從變量的字面意思可以理解為該數(shù)據(jù)塊中的值是可以改變的,即在不同時段內(nèi)代表不同的實體。在PHP中,變量采用“$”符號加變量名的方式來定義:$var_name=9;2.4.1變量的命名一般的編程語言都會遵循變量聲明的某些規(guī)則。這些規(guī)則包括變量的最大長度、能否包含數(shù)字或者字母、變量名是否能包含特殊字符,以及是否能以數(shù)字開頭等。在PHP中,對變量名的長度沒有任何限制,變量名中可以包含數(shù)字和字母等字符,但是需要滿足以下條件:變量名區(qū)分大小寫。變量名必須以字母或下畫線“_”開頭,不能以數(shù)字開頭。變量名只能包含字母和數(shù)字字符,以及下畫線。變量名不能包含空格。如果變量名由多個單詞組成,則應使用下畫線進行分隔,如$array_name;或者以大寫字母開頭,如$arrayName。?【教師】提出問題:你知道什么是關鍵字嗎??【學生】聆聽、思考、回答?【教師】總結學生的回答PHP中有些標識符是系統(tǒng)定義的,又叫關鍵字。與其他編程語言不同的是,PHP允許使用關鍵字作為變量名,但是這樣容易混淆,不建議這樣操作。在命名變量時,最好使變量名具有一定的意義,能夠見名知義,這樣不僅有利于閱讀源代碼,也有利于對變量名的引用。2.4.2變量的賦值在PHP中使用變量前不需要聲明變量,也無須指定數(shù)據(jù)類型,只需為變量賦值即可。為變量賦值,是指給變量一個具體的數(shù)值。對于字符串和數(shù)字類型的變量,可以通過賦值運算符“=”來實現(xiàn)。語法格式為$name=value;例如:<?php$myname="Kevin";$yourname="Henry";……?>除直接賦值外,還有兩種方式可以為變量賦值。傳值賦值:是變量間的賦值。通過“=”符號將某一個變量的值賦給另一個變量,使用這種方式賦值后兩個變量使用各自的內(nèi)存,互不干擾。引用賦值:從PHP4開始,引入了“引用賦值”的概念,它是將賦值表達式內(nèi)存空間的引用賦給另一個變量,需要在“=”符號右側的變量前面加上一個“&”符號。在使用引用賦值時,兩個變量將會指向內(nèi)存中同一存儲空間。因此任何一個變量的變化都會引起另外一個變量的變化。下面通過一個實例,來查看這兩種賦值方式的區(qū)別。?【教師】通過多媒體展示例2-13的代碼和運行結果,并進行講解<?phpecho"使用傳值方式賦值:</br>"; //輸出“使用傳值方式賦值”$string1="spcn"; //聲明變量$string1$string2=$string1; //使用$string1來初始化$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來初始化$string2echo"變量string1的值為:".$string1."<br/>"; //輸出變量string1的值echo"變量string2的值為:".$string2."<br/>"; //輸出變量string2的值$string1="zhuding"; //改變變量string1在內(nèi)存空間中存儲的內(nèi)容,變量string2也指向該空間,string2的值也發(fā)生變化echo"變量string1的值為:".$string1."<br/>"; //輸出變量string1的值echo"變量string2的值為:".$string2."<br/>"; //輸出變量string2的值?>傳值賦值和引用賦值的區(qū)別是,傳值賦值是將原變量內(nèi)容復制一份,并開辟一個新的內(nèi)存空間來保存,而引用賦值則是給變量的內(nèi)容再起一個名字。2.4.3變量的作用域在PHP中的任何位置都可以聲明變量,但是,聲明變量的位置決定了訪問變量的范圍,這個可以訪問的范圍就稱為變量的作用域。如果變量超出了作用域,就失去了其意義。按照變量作用域的不同,可以將PHP中的變量分為局部變量、全局變量和靜態(tài)變量。局部變量:在函數(shù)內(nèi)部聲明的變量,其作用域是所在函數(shù)(第4章將詳細介紹函數(shù)的相關知識)。它保存在內(nèi)存的棧中,訪問速度很快。全局變量:在所有函數(shù)外聲明的變量,其作用域是整個PHP文件,但在用戶自定義函數(shù)內(nèi)部不可用。如果要在用戶自定義函數(shù)內(nèi)部使用某個全局變量,就要使用global關鍵字聲明該全局變量。靜態(tài)變量:是一種特殊的局部變量,只存在于函數(shù)作用域內(nèi),也就是說,靜態(tài)變量只存活在棧中。一般的函數(shù)內(nèi)變量,在函數(shù)調(diào)用結束后其存儲的數(shù)據(jù)值即被清除,所占的內(nèi)存空間也被釋放;但是靜態(tài)變量卻不會,它能夠在函數(shù)調(diào)用結束后仍保留變量值,當再次回到其作用域時,又可以繼續(xù)使用原來的值。把關鍵字static放在要定義的變量前,該變量就變?yōu)殪o態(tài)變量了。?【教師】通過多媒體展示例2-14的代碼和運行結果,并進行講解<?php$x=10;functiontest(){$x=50;echo"在函數(shù)內(nèi)輸出的內(nèi)容是:$x.</br>";}test();echo"在函數(shù)外輸出的內(nèi)容是:$x.</br>";?>從運行結果可以看出,分別在函數(shù)內(nèi)外定義的變量$x,在函數(shù)內(nèi)部使用的是自己定義的局部變量$x;而在函數(shù)調(diào)用結束后,函數(shù)內(nèi)部定義的局部變量$x銷毀,輸出的是全局變量$x的值。如果要在函數(shù)內(nèi)改變?nèi)肿兞?x的值,可以使用關鍵字global。?【教師】通過多媒體展示例2-15的代碼和運行結果,并講解知識<?php$x=10;functiontest(){global$x;$x=50;}test();echo$x;?>這是因為在函數(shù)test()中已經(jīng)將變量$x定義成了全局變量,在程序運行到test()時,將調(diào)用test()函數(shù),并執(zhí)行對$x賦值50的操作,這樣,在輸出時就輸出了50。靜態(tài)變量經(jīng)常被用到。例如,在博客中使用靜態(tài)變量記錄瀏覽者數(shù)量,在聊天室中記錄用戶的聊天內(nèi)容等。?【教師】通過多媒體展示例2-16的代碼和運行結果,并進行講解<?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個數(shù)字,而ptbl()函數(shù)則輸出10個1。這是由于函數(shù)jtbl()含有靜態(tài)變量$message,而函數(shù)ptbl()中的$message是一個普通變量,兩個變量初始化都為0。當分別使用for循環(huán)調(diào)用兩個函數(shù)時,函數(shù)jtbl()在被調(diào)用后保留了靜態(tài)變量$message中的值,而靜態(tài)變量的初始化只是在函數(shù)第一次調(diào)用時被執(zhí)行,以后就不再執(zhí)行初始化操作了,也就是說將會略過上述第3行代碼;而函數(shù)ptbl()在被調(diào)用后,其變量$message失去了原來的值,重新被初始化為0。2.4.4可變變量可變變量是指使用一個變量的值作為變量的名稱。它是一種特殊的變量,實現(xiàn)過程是在變量名前面再多加一個“$”符號。有時候可變變量名會給編程帶來很大的方便。?【教師】通過多媒體展示例2-17的代碼和運行結果,并進行講解<?php$change_name="casual"; //聲明變量$change_name$casual="Iliketosing!"; //聲明變量$casualecho$change_name; //輸出變量$change_nameecho"<p>";echo$$change_name; //通過可變變量輸出$casual的值?>在PHP的函數(shù)和類的方法中,超全局變量不能用作可變變量。$this變量是個特殊變量,不能被動態(tài)引用。2.4.5預定義變量?【教師】通過多媒體展示“常用預定義變量”表,并結合表格講解知識PHP提供了大量的預定義變量。通過這些預定義變量可以獲取用戶會話、客戶機操作系統(tǒng)的環(huán)境信息和服務器操作系統(tǒng)的環(huán)境信息。常用預定義變量變量名說明$GLOBALS$_GET包含通過GET方法傳遞的參數(shù)的相關信息,主要用于獲取通過GET方法提交的數(shù)據(jù)$_POST包含通過POST方法傳遞的參數(shù)的相關信息,主要用于獲取通過POST方法提交的數(shù)據(jù)$_COOKIE通過HTTPCookies傳遞到腳本的信息$_SESSION主要用于會話控制和頁面間值的傳遞,包含與所有會話變量相關的信息$_SERVER[‘SERVER_ADDR’]當前運行腳本所在服務器的IP地址$_SERVER[‘SERVER_NAME’]當前運行腳本所在服務器的主機名稱,如果該腳本運行在一個虛擬主機上,則該名稱由虛擬主機所設置的值決定$_SERVER[‘SERVER_PORT’]服務器所使用的端口,默認值為80$_SERVER[‘SERVER_SIGNATURE’]包含服務器版本和虛擬主機名的字符串$_SERVER[‘REMOTE_ADDR’]正在瀏覽當前頁面的用戶的IP地址$_SERVER[‘REMOTE_HOST’]正在瀏覽當前頁面的用戶的主機名$_SERVER[‘REMOTE_PORT’]用戶連接到服務器所使用的端口$_SERVER[‘REQUEST_METHOD’]$_SERVER[‘DOCUMENT_ROOT’]當前運行腳本所在的文檔根目錄$_SERVER[‘SCRIPT_FILENAME’]當前執(zhí)行腳本的絕對路徑【學生】聆聽、理解、記憶通過教師的講解和演示,幫助學生了解PHP變量的命名、賦值和作用域,以及可變變量和預定義變量的相關知識課堂討論(10min)【教師】組織學生以小組為單位討論以下問題:(1)變量的本質(zhì)是什么?(2)在PHP中,變量的命名需要滿足哪些條件?(3)如何為變量賦值?(4)靜態(tài)變量和可變變量的作用分別是什么?【學生】聆聽、思考、小組討論,由小組代表上臺發(fā)表討論結果【教師】與學生一起評價各組的發(fā)言,并進行總結通過課堂討論,鞏固所學知識,加深學生對變量的理解第二節(jié)課問題導入(5min)【教師】提出以下問題:計算機中的常量和變量有什么區(qū)別呢?【學生】思考、舉手回答通過問題導入,引導學生主動思考,激發(fā)學生的學習興趣傳授新知(20min)【教師】通過學生的回答引入新知,介紹PHP常量的相關知識2.5PHP常量常量可以理解為值不變的量。常量在使用前必須先定義,并且只能是標量值(布爾型、整型、浮點型、字符串型)。常量值被定義后,在整個腳本執(zhí)行期間不改變。一般常量名由英文字母和下畫線開頭,后面可以跟任何字母、數(shù)字或下畫線。?【教師】進行提示:默認情況下,常量大小寫敏感,一般推薦大寫,注意不加“$”符號。?【學生】理解、記憶2.5.1常量的聲明和使用在PHP中使用define()函數(shù)來定義常量,該函數(shù)語法為booldefine(string$constant_name,mixed$value[,bool$case_insensitive=false])該函數(shù)有3個參數(shù),constant_name為必選參數(shù),代表常量名稱;value也為必選參數(shù),代表常量值或表達式;case_insensitive為可選參數(shù),指定是否大小寫敏感。如果case_insensitive參數(shù)設置為true,則該常量大小寫不敏感;默認為false,表示大小寫敏感。獲取常量值有兩種方法:一種是使用常量名直接獲??;另一種是使用constant()函數(shù)。這兩種方法輸出的效果是一樣的,但使用constant()函數(shù)可以動態(tài)地輸出不同的常量,要靈活方便得多。該函數(shù)的語法格式為mixedconstant(string$constant_name)參數(shù)constant_name為要獲取常量的名稱,也可為存儲常量的變量。如果成功則返回常量值,否則提示錯誤信息。要判斷一個常量是否被定義,可以使用defined()函數(shù)。語法格式為booldefined(string$constant_name)參數(shù)constant_name為要獲取常量的名稱,成功則返回true,否則返回false。?【教師】通過多媒體展示例2-18的代碼和運行結果,并進行講解為更好地理解如何定義常量,這里給出一個實例。實例中共用到define()函數(shù)、constant()函數(shù)和defined()函數(shù)3個函數(shù)。使用define()函數(shù)來定義一個常量,使用constant()函數(shù)來動態(tài)獲取常量值,使用defined()函數(shù)判斷常量是否被定義。<?phpdefine("PI","3.1415926"); //定義常量,一般常量名采用大寫echoPI."<br>"; //輸出常量PIechopi."<br>"; //常量定義時名字是大寫,此處使用小寫,程序不會把pi作為常量處理define("COUNT","大小寫不敏感的字符串",true);//定義常量,并設置為不區(qū)分大小寫echoCOUNT."<br>"; //輸出常量COUNTechoCount."<br>"; //由于設定了大小寫不敏感,輸出常量COUNT$name="count";echoconstant($name)."<br>"; //輸出常量COUNTecho(defined("PI"))."<br>"; //如果常量已被定義,則返回true,即顯示1?>2.5.2預定義常量?【教師】通過多媒體展示“常用預定義常量”表,并結合表格進行講解在PHP中,可以使用預定義常量獲取信息。常用預定義常量常量名說明__FILE__默認常量,文件的完整路徑和文件名__LINE__默認常量,PHP程序當前行數(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年財經(jīng)新聞解讀股市分析與經(jīng)濟趨勢練習題
- 2026年法律法規(guī)常識法律基礎與案例分析題庫
- 2026年軟件開發(fā)與編程技術實踐試題
- 2026年金融科技基礎知識點題庫及解析
- 2026年機械設計與制造技術筆試題目
- 2026年電子商務運營策略題庫及答案詳解
- 2026年經(jīng)濟專業(yè)職稱考試宏觀經(jīng)濟政策分析題目庫
- 2026年人力資源規(guī)劃與招聘計劃制定試題
- 2026年人力資源崗面試招聘項目復盤
- 2026年旅游管理與酒店服務知識測試題
- 通信管道施工質(zhì)量控制方案
- 仁愛科普版(2024)八年級上冊英語Unit1~Unit6單元話題作文練習題(含答案+范文)
- 2025天津市水務規(guī)劃勘測設計有限公司招聘18人筆試歷年參考題庫附帶答案詳解
- 安徽寧馬投資有限責任公司2025年招聘派遣制工作人員考試筆試模擬試題及答案解析
- 2024-2025學年云南省昆明市五華區(qū)高一上學期期末質(zhì)量監(jiān)測歷史試題(解析版)
- 建筑坍塌應急救援規(guī)程
- 胰腺常見囊性腫瘤的CT診斷
- 房屋尾款交付合同(標準版)
- 檢測設備集成優(yōu)化方案
- 2025數(shù)據(jù)中心液冷系統(tǒng)技術規(guī)程
- 2021-2025年河南省中考英語試題分類匯編:短文選詞填空(學生版)
評論
0/150
提交評論