《PHP Web應用開發(fā)案例教程》630-9(阮云蘭)教案 第2課 PHP語言基礎(chǔ)_第1頁
《PHP Web應用開發(fā)案例教程》630-9(阮云蘭)教案 第2課 PHP語言基礎(chǔ)_第2頁
《PHP Web應用開發(fā)案例教程》630-9(阮云蘭)教案 第2課 PHP語言基礎(chǔ)_第3頁
《PHP Web應用開發(fā)案例教程》630-9(阮云蘭)教案 第2課 PHP語言基礎(chǔ)_第4頁
《PHP Web應用開發(fā)案例教程》630-9(阮云蘭)教案 第2課 PHP語言基礎(chǔ)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE10PAGE10PAGE9PAGE9

課題PHP語言基礎(chǔ)課時2課時(90min)教學目標知識技能目標:掌握PHP文件格式、語言標記,以及語法和注釋(2)掌握PHP的數(shù)據(jù)類型(3)掌握PHP數(shù)據(jù)類型的轉(zhuǎn)換素質(zhì)目標:(1)能夠意識到PHP應用的價值,感受PHP開發(fā)網(wǎng)站的實用性(2)培養(yǎng)學生的邏輯思維、辯證思維和創(chuàng)新思維能力教學重難點教學重點:PHP文件格式、語言標記、語法和注釋,PHP的數(shù)據(jù)類型教學難點:PHP數(shù)據(jù)類型的轉(zhuǎn)換教學方法案例分析法、問答法、討論法、講授法、實踐法教學用具電腦、投影儀、多媒體課件、教材教學設(shè)計第1節(jié)課:→→→傳授新知(38min)第2節(jié)課:→任務(wù)實施(20min)→課堂討論(15min)→課堂小結(jié)(3min)→作業(yè)布置(2min)教學過程主要教學內(nèi)容及步驟設(shè)計意圖第一節(jié)課課前任務(wù)【教師】布置課前任務(wù),和學生負責人取得聯(lián)系,讓其提醒同學通過文旌課堂APP或其他學習軟件,預習本節(jié)課要學習的知識【學生】完成課前任務(wù)通過課前任務(wù),使學生預習本節(jié)課要學的知識,增加學生的學習興趣考勤(2min)【教師】使用文旌課堂APP進行簽到【學生】班干部報請假人員及原因培養(yǎng)學生的組織紀律性,掌握學生的出勤情況問題導入(5min)【教師】提出以下問題:你知道哪些計算機程序設(shè)計語言?它們的優(yōu)缺點各是什么?通過問題導入的方法,引導學生主動思考,激發(fā)學生的學習興趣傳授新知(38min)【教師】通過學生的回答引入要講的知識,講解PHP語言的基礎(chǔ)知識,以及PHP的數(shù)據(jù)類型2.1PHP語言基礎(chǔ)2.1.1PHP文件格式PHP文件格式非常簡單,可以通過任何文本編輯工具,如記事本、Dreamweaver等來編寫PHP代碼,最后將其保存成后綴為“.php”的文件即可。PHP文件無須編譯即可運行,只要配置好運行環(huán)境,然后將PHP文件放在相應的發(fā)布目錄中,就可以通過瀏覽器瀏覽文件了。一個完整的PHP文件由以下元素構(gòu)成:HTML標記。PHP標記。PHP代碼。注釋。空格。?【教師】通過多媒體展示例2-1的代碼和運行結(jié)果,并進行講解<html><head><title>TheFirstPage!</title></head><body><?php//輸出“HelloWorld!”echo"HelloWorld!";?></body></html>以上代碼中,“<html>”和“<head>”等表示HTML代碼,“<?php…?>”表示PHP標記,“echo"HelloWorld!";”表示PHP代碼,“//輸出‘HelloWorld!’”表示代碼注釋。在PHP程序代碼中,可以將一條語句拆分為多行,也可以緊縮成一行,空格(包括Tab制表符、換行符)在解釋執(zhí)行過程中會被PHP引擎忽略。但空格的合理運用(通過排列分配、縮進等)可以增強程序代碼的清晰性與可讀性。2.1.2PHP語言標記由于PHP代碼嵌在HTML代碼中,因此需要標記對來區(qū)分。通常情況下,可以用以下方式來標記PHP代碼。<?php…?>。<?…?>。<scriptlanguage=php>…</script>。<%…%>。當使用<?…?>將PHP代碼嵌到HTML文件中時,可能會與XML發(fā)生沖突。為適應XML和其他編輯器,可在起始的問號后面加上“php”,如<?php…?>;也可以像其他腳本語言那樣使用“<scriptlanguage=php>…</script>”腳本標記;還可以使用“<%…%>”腳本標記,但由于這一腳本標記也為ASP語言所采用,所以應盡量少使用該腳本標記。本書推薦使用<?php…?>腳本標記PHP代碼。2.1.3PHP語法和注釋PHP語法主要借鑒C和C++語言,也部分參考了Java和Perl語言。在PHP中,一般每句完整代碼的后面都要加分號“;”。但對于控制語句,一般不用加分號“;”,如以下代碼:if(a>b)echo"a比b大";其中的“if(a>b)”語句后面不需要加分號。如果控制語句下面有多行代碼,則必須使用大括號括起來,如下所示:if(a>b){echo"a比b大";echo"a大于b";}任何一種編程語言,都少不了對代碼的注釋。良好的注釋對代碼后期的維護和升級能夠起到非常重要的作用。為PHP程序添加注釋的方法非常靈活,可以使用C語言、C++語言或者是UNIX的shell語言的注釋方式,還可以混合使用??梢允褂谩?/”或者“#”對單行代碼進行注釋,同時還可以通過“/*…*/”對大段代碼進行注釋。但是不能嵌套使用“/*…*/”注釋符號,否則會出現(xiàn)編譯錯誤。2.2PHP數(shù)據(jù)類型PHP是一種數(shù)據(jù)類型比較弱的語言,也就是說變量可以包含任意給定的數(shù)據(jù)類型,該數(shù)據(jù)類型取決于使用變量的上下文環(huán)境。在PHP中,可以直接為變量賦值,而不需要對其數(shù)據(jù)類型進行聲明,如下所示:$str="IlikeMonkey"; //表示$str為字符串型 $number=50; //表示$number為整型事實上,PHP中變量數(shù)據(jù)類型的定義是通過為變量賦值(初始化),由系統(tǒng)自動設(shè)定的。PHP支持8種原始數(shù)據(jù)類型(type),其中有4種標量類型、2種復合類型和2種特殊類型。標量數(shù)據(jù)類型包括boolean(布爾型)、string(字符串型)、integer(整型)和float(浮點型,也稱作double);復合數(shù)據(jù)類型包括array(數(shù)組)和object(對象);特殊數(shù)據(jù)類型包括resource(資源)和NULL(空值)。下面分別介紹這些數(shù)據(jù)類型。2.2.1標量數(shù)據(jù)類型?【教師】掃碼播放“標量數(shù)據(jù)類型”視頻,并結(jié)合視頻進行講解1.布爾型(boolean)在所有PHP變量中,布爾型變量是最簡單的變量。布爾型變量保存一個true或false值。其中true或者false是PHP的內(nèi)部關(guān)鍵字。只需要將true或者false賦值給某變量,即可將該變量設(shè)定為布爾型,如下所示:$var_bool=true;“$”符號是變量的標識符,所有變量都以“$”符號開頭。無論是聲明變量還是調(diào)用變量,都應使用“$”符號。true和false實際上代表數(shù)字1和0,因此true在輸出時顯示為1,false在輸出時顯示為0。當轉(zhuǎn)換布爾型時,以下值被認為是false:布爾值false。整型值0(零)。浮點型值0.0(零)??瞻鬃址妥址?”。沒有成員變量的數(shù)組??罩礜ULL。其他所有值都被認為是true。通常布爾型變量應用在條件控制語句或循環(huán)控制語句的條件表達式中。?【教師】通過多媒體展示例2-2的代碼和運行結(jié)果,并進行講解<?php$a=true;if($a==true)echo'變量$a為真!';elseecho'變量$a為假!!';?>在if條件控制語句中判斷變量$a的值是否為真,如果為true,則輸出“變量$a為真!”,否則輸出“變量$a為假!!2.字符串型(string)字符串由一系列字符組成,其中每個字符等同于一個字節(jié)。字符串在每種編程語言中都有廣泛的應用。在PHP中,定義字符串有以下3種方式。1)單引號形式定義一個字符串最簡單的方法是用單引號把它引起來,如下所示:$str='thisisasimplestring';使用單引號定義字符串時,要表達一個單引號自身,需在它的前面加個反斜線“\”來進行轉(zhuǎn)義。要表達一個反斜線自身,則用兩個反斜線“\\”。其他任何方式的反斜線都會被當成反斜線本身,也就是說如果想使用其他轉(zhuǎn)義序列,如“\r”或者“\n”,并不代表任何特殊含義,就單純是這兩個字符本身。2)雙引號形式字符串的雙引號賦值方式如下:$str="這是雙引號中的字符串";如果字符串是用雙引號(")定義,則支持更多種類的轉(zhuǎn)義字符。例如,“\n”表示換行,“\r”表示回車,“\t”表示水平制表符,“\"”表示雙引號,“\\”表示反斜線,“\$”表示$符號。和單引號定義字符串一樣,使用雙引號定義字符串時,轉(zhuǎn)義任何其他字符都會導致反斜線被顯示出來。使用單引號與雙引號定義字符串的區(qū)別是:在使用單引號時,程序不會首先去判斷該字符串中是否含有變量,而是將全部內(nèi)容當成字符串來輸出;在使用雙引號時,程序首先會去判斷字符串中是否含有變量,如果含有變量,則直接輸出變量值。?【教師】通過多媒體展示例2-3的代碼和運行結(jié)果,并進行講解<?php $b='字符串'; //聲明一個字符串變量 echo"$b"; //用雙引號輸出 echo"<p>"; //輸出段標記 echo'$b'; //用單引號輸出?>分別使用單引號和雙引號輸出同一個變量,其輸出結(jié)果完全不同,使用雙引號輸出的是變量值,而使用單引號輸出的是字符串“$b”。在定義簡單的字符串時,使用單引號是一個更加合適的處理方式。如果使用雙引號,PHP將花費一些時間來處理字符串的轉(zhuǎn)義和變量的解析。所以在定義字符串時,如果沒有特殊要求,應盡量使用單引號。3)定界符形式定界符形式是指采用兩個相同的標識符來定義字符串,使用該方式定義字符串時要特別注意開始標識符和結(jié)束標識符必須相同,同時還須遵守以下規(guī)則:開始標識符前面要有3個尖括號“<<<”。結(jié)束標識符必須另起一行,并且在該行第一列,前面不能有任何空格或其他多余字符。標識符的命名也要像其他標簽一樣遵守PHP規(guī)則,只能包含字母、數(shù)字和下畫線,并且必須以字母和下畫線開頭。?【教師】通過多媒體展示例2-4的代碼和運行結(jié)果,并進行講解<?php$heredoc_str=<<<EOD定界符實例<br>字符串<br>美元符號$<br>EOD;echo$heredoc_str;?>代碼使用定界符形式定義了字符串變量$heredoc_str,通過輸出語句“echo$heredoc_str;”可以輸出該變量值。代碼中的標識符“EOD”可以自己命名,只要符合定界符命名規(guī)則即可。定界符和雙引號的使用效果相同,也就是說定界符可以直接輸出變量值,同時也支持使用各種轉(zhuǎn)義字符。唯一的區(qū)別就是使用定界符定義字符串中的雙引號不需要使用轉(zhuǎn)義字符就可以實現(xiàn)。3.整型(integer)整型數(shù)據(jù)類型只能包含整數(shù),可以為正數(shù),也可以為負數(shù)。其取值范圍為-2147483648~+2147483647。在為整型變量賦值時,可以采用十進制、十六進制或八進制形式。十進制就是我們平時使用的數(shù)字;要使用八進制,數(shù)字前必須加上“0(零)”;要使用十六進制,數(shù)字前必須加上“0x”,但表達式的計算結(jié)果均以十進制數(shù)字輸出。?【教師】通過多媒體展示例2-5的代碼和運行結(jié)果,并進行講解<?php $str1=1234567890; //聲明一個10進制整數(shù) $str2=0x1234567890; //聲明一個16進制整數(shù) $str3=01234567; //聲明一個8進制整數(shù) echo'數(shù)字1234567890不同進制的輸出結(jié)果:<p>'; echo'10進制的結(jié)果是:'.$str1.'<br>'; //輸出10進制整數(shù) echo'16進制的結(jié)果是:'.$str2.'<br>'; //輸出16進制整數(shù) echo'8進制的結(jié)果是:'.$str3.'<br>'; //輸出8進制整數(shù)?>分別輸出十進制、十六進制和八進制的整數(shù)。PHP中不支持無符號整數(shù),所以無法像其他語言一樣把整數(shù)都表示為正數(shù),即最大值翻一倍。最大值可以用常量PHP_INT_MAX來表示,如果一個數(shù)或者運算結(jié)果超出了整型范圍,將會返回float。4.浮點型(float/double)浮點型也稱為浮點數(shù)(float)、雙精度數(shù)(double)或?qū)崝?shù)(real)。浮點型數(shù)據(jù)類型用于存儲整數(shù)或小數(shù),是一種近似的數(shù)值。它提供了比整數(shù)大得多的精度,可以精確到小數(shù)點后15位。浮點數(shù)的字長和平臺相關(guān),在32位操作系統(tǒng)中,浮點數(shù)可以表示為1.7e-308~1.7e+308的數(shù)據(jù)。浮點數(shù)既可以表示為簡單的浮點數(shù)常量,如1.234;也可以表示為科學計數(shù)法的形式,即尾數(shù)和指數(shù)之間用e或E隔開,如1.2e3、35.6e-3。?【教師】通過多媒體展示例2-6的代碼和運行結(jié)果,并進行講解<?phpecho$a=202.4;//以小數(shù)形式表示浮點數(shù) echo"<br>"; echo$b=2.024e8;//以科學計數(shù)法形式表示浮點數(shù) echo"<br>"; echo$c=20.24e-8;//以科學計數(shù)法形式表示浮點數(shù)echo"<br>";?>輸出用不同形式表示的浮點型數(shù)據(jù)。PHP中浮點型的精度不穩(wěn)定,所以在應用浮點數(shù)時,盡量不要去比較兩個浮點數(shù)是否相等,也不要將一個很大的數(shù)與一個很小的數(shù)相加減,否則這個很小的數(shù)可能會被忽略。如果必須進行高精度數(shù)學計算,可以使用PHP提供的專用數(shù)學函數(shù)序列和gmp()函數(shù)。2.2.2復合數(shù)據(jù)類型復合數(shù)據(jù)類型就是將多個簡單數(shù)據(jù)類型組合在一起,并存儲在一個變量名中。PHP提供了數(shù)組(array)和對象(object)兩種復合數(shù)據(jù)類型,它們都可以包含一種或多種簡單數(shù)據(jù)類型。1.數(shù)組(array)數(shù)組是一系列相關(guān)數(shù)據(jù)的集合,以某種特定方式進行排列而形成的一個可操作的整體。數(shù)組中可以包含標量數(shù)據(jù)、數(shù)組、對象、資源等。數(shù)組中的每個數(shù)據(jù)稱為一個元素,元素包括索引(鍵名)和值兩部分。在PHP中,元素索引只能由數(shù)字或字符串組成。元素值可以是基本數(shù)據(jù)類型,也可以是復合數(shù)據(jù)類型(如以一個數(shù)組作為元素);可以是相同的數(shù)據(jù)類型,也可以是不同的數(shù)據(jù)類型。PHP中可以使用多種方法構(gòu)建數(shù)組。?【教師】通過多媒體展示例2-7的代碼和運行結(jié)果,并進行講解<?php$num[0]="red";$num[1]="green";$num[2]="blue";$num["blue"]=6;echo$num[1]; //greenecho"<br>";echo$num["blue"]; //6echo"<br>";//使用array()構(gòu)建數(shù)組$arr=array("red"=>"ccy",1=>true);print_r($arr); //用print_r()函數(shù)查看數(shù)組中的全部內(nèi)容echo"<br>";echo$arr["red"]; //通過下標訪問單個元素,ccyecho"<br>";echo$arr[1]; //1?>2.對象(object)對象是一種更高級的數(shù)據(jù)類型,對象類型的變量由一組屬性值和一組方法構(gòu)成。對象可以表示具體的事物,也可以表示某種抽象的規(guī)則、事件等。在第8章中將會詳細介紹對象的相關(guān)知識。2.2.3特殊數(shù)據(jù)類型特殊數(shù)據(jù)類型包括資源(resource)和空值(NULL)兩種。1.資源(resource)資源是一種特殊變量類型,用于保存對外部數(shù)據(jù)源的引用,如文件、數(shù)據(jù)庫連接等。在PHP中,只有負責將資源綁定到變量的函數(shù)才能返回資源,且無法將其他數(shù)據(jù)類型轉(zhuǎn)換為資源類型。資源變量并不真正保存一個值,而只是保存一個指針。在使用資源時,系統(tǒng)會自動啟用垃圾回收機制,釋放不再使用的資源,避免內(nèi)存消耗殆盡。?【教師】通過多媒體運行展示代碼例2-8,講解知識<?php/*使用fopen()函數(shù)以寫的方式打開“casual.txt”文件,返回文件資源*/$file=fopen("casual.txt","w");var_dump($file);?>var_dump()函數(shù)顯示關(guān)于一個或多個表達式的結(jié)構(gòu)信息,包括表達式的類型和值。?【學生】觀看、理解、記憶2.空值(NULL)空值,顧名思義,就是沒有為變量設(shè)置任何值??罩挡粎^(qū)分大小寫,使用null和NULL效果是一樣的。有3種情況通常被賦予空值:變量沒有被賦任何值,被賦值為null,變量賦值后使用unset()函數(shù)進行清除。?【教師】通過多媒體展示例2-9的代碼和運行結(jié)果,并進行講解<?phpecho"變量(\$string1)直接賦值為null:";$string1=null; //變量$string1被賦空值$string3="str"; //變量$string3被賦值strif(is_null($string1)) //判斷$string1是否為空 echo"string1=null";echo"<p>變量(\$string2)未被賦值:";if(is_null($string2)) //判斷$string2是否為空 echo"string2=null";echo"<p>被unset()函數(shù)處理過的變量(\$string3):"; unset($string3); //釋放$string3if(is_null($string3)) //判斷$string3是否為空 echo"string3=null";?>unset()函數(shù)的作用就是從內(nèi)存中刪除變量。為字符串string1賦值null,不對string2進行聲明和賦值,為string3賦值后又用unset()函數(shù)處理,這樣3個變量的輸出值均為null。【學生】聆聽、、記錄通過教師的講解和演示,使學生了解PHP語言的基礎(chǔ)知識,以及PHP的數(shù)據(jù)類型第二節(jié)課問題導入(5min)【教師】提出以下問題:在PHP中不同類型的數(shù)據(jù)可以相互轉(zhuǎn)換嗎?【學生】思考、舉手回答使用案例展示法教學,通過展示案例效果,使學生對要學習的知識有比較清楚的認識傳授新知(20min)【教師】介紹PHP中數(shù)據(jù)類型轉(zhuǎn)換的相關(guān)知識2.3數(shù)據(jù)類型轉(zhuǎn)換PHP是弱類型語言,其中的變量不需要(或不支持)明確的類型定義,其變量類型一般由上下文決定,這給程序編寫帶來很大的靈活與方便。但當需要知道在程序中使用的是哪種類型的變量時,仍然需要用到類型轉(zhuǎn)換,否則可能導致一些潛在的錯誤。PHP中的類型轉(zhuǎn)換可以通過以下兩種方式來實現(xiàn):顯式轉(zhuǎn)換:也叫強制轉(zhuǎn)換。在需要轉(zhuǎn)換類型的變量前加上用“()”括起來的數(shù)據(jù)類型名稱或使用settype()函數(shù)來實現(xiàn)。隱式轉(zhuǎn)換:就是指自動類型轉(zhuǎn)換。2.3.1顯式轉(zhuǎn)換(強制轉(zhuǎn)換)在變量或值前面加上要轉(zhuǎn)換的類型可以對其進行強制轉(zhuǎn)換,PHP支持下列幾種強制類型轉(zhuǎn)換:(array) 數(shù)組(bool)或(boolean) 布爾型(int)或(integer) 整型(object) 對象(real)或(double)或(float) 浮點型(string) 字符串型將一個浮點數(shù)強制轉(zhuǎn)換成整數(shù)時,將直接忽略小數(shù)部分。$a=(int)21.8;//$a=21將字符串轉(zhuǎn)換成整數(shù)時,取字符串最前端的所有數(shù)字進行轉(zhuǎn)換,若沒有數(shù)字,則為0。$a=(int)"MynameisBill."http://$a=0$a=(int)"28trees"http://$a=28此外,使用函數(shù)settype()也可以改變原變量的類型,該函數(shù)可以將指定的變量轉(zhuǎn)換成指定的數(shù)據(jù)類型。其用法如下:boolsettype(mixed$var,string$type)參數(shù)var為指定的變量,參數(shù)type為指定的數(shù)據(jù)類型。參數(shù)type有7個可選值,即array、bool、int、object、float、string和null。如果轉(zhuǎn)換成功則settype()函數(shù)返回true,否則返回false。下面通過一個強制類型轉(zhuǎn)換的例子,來查看這兩種方法的區(qū)別。?【教師】通過多媒體展示例2-10的代碼和運行結(jié)果,并進行講解<?php$num='6.1234196r*r'; //聲明一個字符串變量echo'使用(integer)操作符轉(zhuǎn)換變量$num類型:';echo(integer)$num; //使用(integer)轉(zhuǎn)換類型echo'<p>';echo'輸出變量$num的值:'.$num; //輸出原始變量$numecho'<p>';echo'使用settype()函數(shù)轉(zhuǎn)換變量$num類型:';echosettype($num,'integer'); //使用settype()函數(shù)轉(zhuǎn)換類型echo'<p>';echo'輸出變量$num的值:'.$num; //輸出原始變量$num?>可以看出,使用(integer)操作符能直接輸出轉(zhuǎn)換后的變量類型,并且原變量不發(fā)生任何變化。而使用settype()函數(shù)返回的是1(也就是true),原變量被改變了。實際應用中,可以根據(jù)情況自行選擇轉(zhuǎn)換方式。2.3.2隱式轉(zhuǎn)換(自動轉(zhuǎn)換)隱式轉(zhuǎn)換一般是指變量根據(jù)運行環(huán)境自動轉(zhuǎn)換數(shù)據(jù)類型,這是由PHP語言引擎自動解析的一種方式。在PHP中,常

溫馨提示

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

評論

0/150

提交評論