PHP技術與應用實驗指導書樣本_第1頁
PHP技術與應用實驗指導書樣本_第2頁
PHP技術與應用實驗指導書樣本_第3頁
PHP技術與應用實驗指導書樣本_第4頁
PHP技術與應用實驗指導書樣本_第5頁
已閱讀5頁,還剩28頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

資料內容僅供您學習參考,如有不當之處,請聯系改正或者刪除。《PHP編程基礎與實例教程》實驗指導書預備實驗架設Windows下的PHP開發測試服務器0.實驗準備0.1系統環境和PHP相關軟件、開發工具操作系統:WindowX(Windows95/98/me/XP/NT系列/系列/)具體到的機房環境,請在Windowsxp環境下做Web服務器:Apache2.0.63(壓縮包文件:apache_2.0.63-win32.exe)PHP:PHP5.2.11(壓縮包文件:php-5.2.11-Win32.zip)數據庫:MySQL5.1.39(壓縮包文件:mysql-essential-5.1.39-win32.zip)腳本編輯器:EditPlus(已安裝好):圖形化編輯環境,速度慢,功能多,常見于復雜網頁設計注:PHP相關軟件、開發工具的獲得:在我的ftp上下載0.2實驗目的能夠快速部署Windows下的開發測試服務器環境,以滿足同學們在宿舍、家中自己機器上學習、研究和開發PHP程序設計的需要或是實際工作的需要。0.3實驗中的路徑說明為說明問題的簡單起見,路徑為比較簡單的示例路徑,但已經過測試。實際運用時,路徑完全可根據自己需要設定。1.PHP的安裝和配置1.1安裝下載PHP-5.2.5-Win32.ZIP軟件包,不需要安裝,在C盤根目錄下建立文件夾C:\php。將軟件包解壓縮到本目錄下。在C:\php目錄下找到php.ini-dist文件,將其名字改為php.ini,這是php的配置文件。修改php.ini文件,過程如下:(1)找到extension_dir=”./”,改為extension_dir=”C:/php/ext”(2)找到”;extension=php_mbstring.dll”去掉前面的”;”(3)找到”;extension=php_mysql.dll”去掉前面的”;”(4)找到”;extension=php_mysqli.dll”去掉前面的”;”修改完php.ini文件后,保存該文件,并復制到C:\Windows\目錄下。將C:\PHP\libmysql.dll復制到C:\windows\system32目錄下注:操作系統安裝目錄,具體位置見表1表1:操作系統安裝目錄操作系統操作系統安裝目錄Windows95windowsWindows98windowsWindowsmewindowswindowsWindowsNT系列winntWindows系列winntWindowswindows1.2配置經過修改php.ini中的參數來實現。對MySQL而言,若無特殊要求,一般無須配置。因為PHP在php.ini中已經做好了對MySQL的配置,因此一般無須修改。2.Apache的安裝和配置2.1安裝軟件雙擊apache_2.0.63-win32.exe,按照提示,選擇custom安裝方式,然后一路默認,即完成安裝。注意:如果您的電腦安裝了IIS,請先到控制面板關閉IIS服務,因為IIS服務器與Apache服務器都使用一個端口。2.2配置服務單擊[開始]->[程序]->[ApacheHTTPServer2.2]->[ConfigureApacheServer]->[EdittheApachehttpd.confconfigurationFile],打開Apache的配置文件httpd.conf,按表2提示進行配置:注意:每處的配置要想起作用,必須將行首的#號(注釋符號)去掉;□表示一個或多個空格表2Apache配置序號參數名和示例參數值配置方法說明①BindAddress□(你所用機器的IP地址)修改地址綁定(指定服務器地址)②LoadModule□php5_module□c:/php/sapi/php5apache.dll添加將PHP配置為Apache的模塊(Apachemodule)方式③Port□80修改指定端口④ServerAdmin□(你的郵箱地址,如)修改指明管理員信箱⑤ServerName□ssl修改指明主機名稱⑥DocumentRoot□"d:\Website\htdocs"修改Web文檔發布主目錄⑦<Directory□"d:\Website\htdocs">修改該處目錄應與Web文檔發布主目錄一致⑧ScriptAlias□/php/□"c:/php/"AddType□application/x-httpd-php□.phpAction□application/x-httpd-php□"/php/php.exe"添加指明腳本路徑指明PHP腳本擴展名指明PHP腳本解釋器程序名⑨DirectoryIndex□index.htm□index.php修改指定默認文檔*描述以httpd.conf文件的行文順序進行*表中路徑、地址、主機名、信箱等,實際配置時請根據自己情況進行按表1所述,參考Apache配置文件樣本,修改完畢后,保存。測試配置是否成功。1)在編輯完成后,我們還能夠經過”開始/程序/ApacheHTTPServer2.2/ConfigureApacheServer/TestConfiguration"來測試配置文件是否有語法錯誤等。2)或者打開瀏覽器敲入:http://localhost能否見到服務器到測試頁面。能見到則配置成功。3.Apache:Web服務的安裝和啟動啟動Apache服務:單擊:[開始]->[程序]->[ApacheHTTPServer2.2]->[ControlApacheservice]->[Start]。(默認情況下,每次操作系統啟動時自動啟動該服務,可更改)4.測試Apache服務器對PHP的支持能力測試目的:檢驗配置后的Apache服務器是否提供了對PHP腳本的解釋能力(支持PHP)用EditPlus編寫測試腳本,存為d:\Website\htdocs\ceshi.php,內容為:<?phpechophpinfo();?>說明:phpinfo()是PHP內置函數,用來顯示PHP和Apache配置信息,在瀏覽器中敲入http://localhost/ceshi.php,回車后若顯示類似圖1的PHP配置頁面(以Winxp下為例),則說明你的Apache服務器已經支持PHP腳本,能夠解釋PHP腳本了;若不顯示類似畫面,則配置有誤,此時你的Apache不能夠解釋PHP腳本,需重新配置。圖15.MySQL的安裝和啟動數據庫服務器①將mysql-essential-5.1.39-win32.zip解壓縮后,雙擊setup.exe,按照提示,選擇custom安裝方式,然后一路默認,遇到輸入密碼的地方,輸入123作為密碼。②測試安裝是否成功。單擊”開始”,選擇”MySQL→MySQLServer5.1→MySQLCommandLineClient”,會出現如下圖所示的窗口,然后輸入root密碼,根據提示操作即可6.測試PHP與MySQL的協同PHP方面:準備測試腳本connect.php,存放在d:\Website\htdocs下,其內容為:程序2-13:<?$connection=mysql_connect('','root','123')ordie('不能連接到MySQL數據庫:'.mysql_error());echo'已經成功連接MySQL數據庫<br/>';mysql_select_db('test')ordie('不能選擇數據庫');echo'連接test數據庫已經成功';?>測試步驟在瀏覽器地址欄輸入:http://localhost/connect.php,回車,顯示如圖2所示,則表明PHP與MySQL能夠協同工作了。圖2實驗一PHP基本語法實驗0實驗準備0.1實驗環境和相關工具軟件具體到的機房環境,請在Windowsxp環境下做本實驗:操作系統:WindowsxpWeb服務器:Apache2.0.63默認發布文檔路徑:c:\Apache\htdocsPHP:PHP5.2.11安裝路徑:c:\php數據庫:MySQL5.1.39使用默認路徑腳本編輯器:記事本或EditPlus-v3.11.463H或MacromediaDreamweaverMX中文版注意:使用以上腳本編輯器,若要保存為.php文件,必須在保存時指明擴展名為.php特別是記事本,必須在保存時,單擊”保存類型”下拉框,選擇”所有文件(*.*)”類型,然后指定文件擴展名是.php,單擊”保存”按鈕后,保存的文件才能保證是.php文件。常見錯誤是直接保存,導致保存的文件其實是文本文件,如abc.php.txt等以.txt為擴展名的文本文件。0.2實驗目的和內容實驗目的:熟練掌握PHP語言的基礎語法實驗內容:從7個方面完成PHP基本語法實際體驗,分列如下:一、詞法結構大小寫語句和分號注釋標識符二、數據類型字符串型布爾型數組型對象型資源型各種數據類型的檢測三、變量變量的變量變量的作用域垃圾收集:變量的內存管理四、表示式和操作符隱式類型轉換字符串連接操作符自增和自減操作符類型轉換操作符其它操作符五、流控制語句if語句switch語句while語句for語句foreach語句exit語句return語句(2-12)六、包含代碼七、在Web頁面中嵌入PHP0.3實驗中的約定所有實驗程序均與講義中的例子相對應,如程序1-1.php,對應講義中的例子例1-1。1詞法結構1.1大小寫敏感預備知識

變量區分大小寫,內置結構(while,for,if等)及關鍵字(echo,class等)不區分大小寫【2-1】大小寫敏感的例子PHP程序2-1送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php$name="hello1,world1";$NAME="hello2,world2";$NaME="hello3,world3";echo"\$name=$name\n";ECHO"\$NAME=$NAME\n";EcHo"\$NaME=$NaME";?>注意:要使運行結果達到真正分行(和HTML輸出一致),請將程序2-1中的\n換成<br>,即可實現,如下例【2-1br】修改程序2-1后的程序2-1br,直接實現分行(將程序2-1中的\n換成<br>)PHP程序2-1br送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php$name="hello1,world1";$NAME="hello2,world2";$NaME="hello3,world3";echo"\$name=$name<br>";ECHO"\$NAME=$NAME<br>":EcHo"\$NaME=$NaME";?>原因:瀏覽器不解釋(或者說不識別,或忽略)經PHP解釋\n而成的空白換行,只有遇到<br>這個HTML中的換行標記,才解釋成換行。為了直接達到預期換行效果,將不再使用\n,而是使用<br>1.2語句和分號預備知識

簡單語句復雜語句分號的省略【2-2】語句和分號PHP程序2-2送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php$a=10;$b=10;if($a==$b){echo"注意:<br>";//簡單語句echo"\$a的值等于\$b的值<br>";}//上面{}部分為復雜語句echo"hello,world";//此處分號可省略?>1.3注釋預備知識

在必要的地方做注釋注釋的形式及各自的適用處:Shell形式(#)、C++形式(//)、C形式(/*…*/)【2-6】C形式的注釋作用PHP程序2-6送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php$l=12;$m=13;/*注釋從這里開始?><p>SomestuffyouwanttobeHTML.</p><?=$n=14;*/echo("l=$lm=$mn=$n");?><p>Now<b>this</b>isregularHTML…</p>1.4標識符(常量標識符)預備知識

使用define()設置常量標識符【2-7】使用define()設置常量標識符PHP程序2-7送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽顯示在瀏覽器頁面中的結果)<?phpdefine(‘PUB’,”O’Reilly&Associates”);echoPUB;?>2數據類型2.1字符串預備知識

字符串的表示單引號和雙引號在字符轉義上的不同作用:單引號僅轉義反斜杠\和單引號’【2-8】單引號和雙引號在字符轉義上的不同作用PHP程序2-8送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php$name=”SunShoulong”;//雙引號中的變量值將被輸出echo”Hi,$name<br>”;echo‘Hi,$name’;//單引號中的變量名將被輸出,因為單引號不認為$name是變量?>注意:雙引號中的變量,若前面不加反斜杠\進行轉義(將$原樣輸出),則在輸出字串的時候將輸出變量中的值【2-9】單引號僅支持的字符轉義:反斜杠\和單引號’PHP程序2-9送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php$dos_dir=’c:\\windows\\system’;$publisher=’TimO\’Reilly’;echo”$dos_dir$publisher”;?>2.2布爾型預備知識PHP中為false值的情況【2-10】判斷布爾值PHP程序2-10送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php$x=5;$y=””;if($x)echo‘$x有一個true值<br>’;if(!$x)echo‘$x有一個false值<br>’;if($y)echo‘$y有一個true值<br>’;if(!$y)echo‘$y有一個false值<br>’;?>2.3數組型預備知識:數組的創立、遍歷;鍵名:數組元素的下標名稱,一般是從0開始的整數,也能夠是字符串;鍵值:數組元素中存儲的值【2-11】數組的創立、遍歷:創造家記錄PHP程序2-11送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#以數字鍵名引用的方式,經過給各數組元素賦值的方法#直接創立人名數組$person$person[0]=”Edison”;$person[1]=”Wankel”;$person[2]=”Crapper”;/*上面的方法可用array方法替代,創立后鍵名也是數字的,按賦值先后,從0開始依次遞增$person=array(‘Edison’,’Wankel’,’Crapper’);//一條語句*/#以字串鍵名引用的方式,經過給各數組元素賦值的方法#直接創立創造家數組$creator$creator[‘Lightbulb’]=”Edison”;$creator[‘RotaryEngine’]=”Wankel”;$creator[‘Toilet’]=”Crapper”;/*上面的方法可用array方法替代,創立后鍵名也是數字的,按賦值先后,從0開始依次遞增$creator=array(‘Lightbulb’=>’Edison’,‘RotaryEngine’=>’Wankel’,‘Toilet’=>’Crapper’);*/#遍歷數組$person,顯示其內容foreach($personas$name)//訪問每個鍵echo”Hello,$name<br>”;#遍歷數組$creator,顯示其內容foreach($creatoras$invention=>$inventor)echo”$inventionwascreatedby$inventor<br>”;?>2.4對象型預備知識類:OOP的單元,是包含屬性(變量)和方法(函數)的結構定義類的定義對象的創立、引用其屬性和方法【2-12】類和對象的簡單例子PHP程序2-12送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?phpClassPerson{var$name=’’;functionname($newname=NULL){if(!is_null($newname))$this->name=$newname;return$this->name;}}$ed=newPerson;$ed->name(‘Edison’);printf(”Hello,%s<br>”,$ed->name);$tc=newPerson;$tc->name(‘Crapper’);printf(”Lookoutbelow,%s<br>”,$tc->name);?>2.5數據類型的檢測預備知識數據類型檢測函數【2-14】數據類型檢測PHP程序2-14送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php$x=2.5;if(is_int($x))echo'$x是整型變量';if(is_float($x))echo'$x是浮點型變量';if(is_string($x))echo'$x是字串型變量';if(is_bool($x))echo'$x是布爾型變量';if(is_array($x))echo'$x是數組型變量';if(is_object($x))echo'$x是對象型變量';if(is_resource($x))echo'$x是資源型變量';if(is_null($x))echo'$x是NULL型變量';?>3變量3.1變量的變量預備知識變量的概念和作用;變量的聲明和使用;變量的變量【2-15】PHP變量無類型檢查,無須聲明,類型隨用隨變PHP程序2-15送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#PHP變量無類型檢查$what="Fred";echo"\$what的值=$what<br>";if(is_string($what))echo"\$what是字符串型變量<hr>";$what=35;echo"\$what的值=$what<br>";if(is_int($what))echo"\$what是整型變量<hr>";$what=array('Fred','35','wilma');echo"\$what的值為:<br>";foreach($whatas$e)echo"$e<br>";if(is_array($what))echo"\$what是數組型變量";?>【2-16】空變量的例子PHP程序2-16送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#一個沒有設置值的變量,它的值是NULL,#表示它是一個空變量if($uninitialized_variable==NULL)//此句可換為:if(is_null($uninitialized_variable))echo"\$uninitialized_variable是空變量";?>【2-17】變量的變量PHP程序2-17送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#變量的變量$r='i';$$r=1;echo"因為\$r=$r<br>";echo"因此\$\$r=$$r<br>";echo"又因為$$r=".$$r."<br>";echo'故$$r='.$$r;echo"<hr>:-)你明白了嗎?";?>3.2變量的作用域預備知識變量按其作用域分為:局部變量、全局變量。靜態變量、函數的參數屬于局部變量;從局部訪問全局變量的方法;從全局訪問局部變量的方法【2-19】不能從全局(函數外部)直接訪問局部變量PHP程序2-19送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#下面的函數更新了一個局部變量而不是全局變量functionupdate_counter(){$counter++;//執行完本句即函數結束時,$counter的值被PHP拋棄,該變量所占內存資源被收回}$counter=10;update_counter();echo$counter;//這個$counter是全局變量?>【2-20】從局部訪問全局變量,方法1:使用global關鍵字聲明PHP程序2-20送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#在函數內訪問全局變量--方法1:使用global關鍵字聲明functionupdate_counter(){global$counter;//告訴PHP,$counter是全局中那個$counter$counter++;}$counter=10;update_counter();echo$counter;?>【2-21】從局部訪問全局變量,方法2:引用全局變量數組$GLOBALSPHP程序2-21送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#在函數內訪問全局變量--方法2:引用全局變量數組$GLOBALS中鍵名為counter的那個元素functionupdate_counter(){$GLOBALS['counter']++;//也能夠寫成:$GLOBALS[counter]++;}$counter=10;update_counter();echo$counter;?>【2-22】使用靜態變量的好處::使全局可間接訪問到PHP程序2-22送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#使用靜態變量的方法,強制保留局部變量上#次調用結束時的值,使全局可間接訪問到functionupdate_counter(){static$counter=0;//這個$counter是局部的變量,聲明為靜態,并賦初始值0$counter++;echo"局部靜態變量\$counter這時的值=$counter<br>";}$counter=10;//這個$counter是全局的變量update_counter();update_counter();echo"全局變量\$counter這時的值=$counter";?>【2-23】全局不可直接訪問局部變量(可經過將局部變量聲明為靜態的方法,參見2-22)PHP程序2-23送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#函數參數作為一種局部變量,是不能直接被外部訪問的functiongreet($name){echo"Hello,$name<br>";}greet("孫壽龍");if($name==null)echo'$name是一個空變量,訪問不到!';?>3.3垃圾收集預備知識無用變量的收回;PHP內存管理;引用計算;寫時復制【2-24】PHP的寫時復制PHP程序2-24<?php#PHP經過使用引用計算和寫時復制進行內存管理從而節省了時間和內存#一、寫時復制//對共享同一首地址的多個變量,修改其中一個,如$worker,則此時為$worker分配新內存空間,//將其新元素內容寫入該空間,將其舊元素內容復制到該空間//這就是寫時復制//發生寫時復制,為$worker開辟新空間,將$worker最新內容復制到這里,以不影響$other的內容$worker[1]=36;//同時發生引用計算:原$worker與$other共享的那個首地址引用的變量名減少1個,只剩下了$other(引用計數減少1)echo"修改數組\$worker的第二個元素,發生寫時復制及引用計算后,<br>";echo"新數組\$other的內容:<br>";foreach($otheras$a)echo"$a<br>";echo"新數組\$worker的內容:<br>";foreach($workeras$b)echo"$b<br>";echo"是不是很好玩?";?>PHP解釋結果(HTML輸出)(右鍵單擊該頁面,在快捷菜單中單擊”查看源文件”命令可看到)送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)【2-25】垃圾收集:變量的回收——使用unset()回收變量(釋放變量)PHP程序2-25送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#垃圾收集:變量的回收—使用unset()釋放變量echo"從未對\$name賦過值,這時:<br>";$s1=isset($name);//$s1為falseif($s1)echo"\$name已存在,其值=$name<br>";elseecho"\$name不存在,其值=$name<br>";$name="Fred";$s1=isset($name);//$s1為trueif($s1)echo"\$name已存在,其值=$name<br>";elseecho"\$name不存在,其值=$name<br>";echo"現在從內存中釋放(刪除)\$name:<br>";unset($name);$s1=isset($name);//$s1為falseif($s1)echo"\$name已存在,其值=$name<br>";elseecho"\$name不存在,其值=$name<br>";?>4.表示式和操作符4.1隱式類型轉換預備知識

數字間進行字符串拼接的規則;字符串轉換數字后的數字值規則【2-26】數字間進行字符串拼接的規則:數字首先變為字串,然后再拼接PHP程序2-26送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#數字減進行字符串連接的類型轉換:數字都變為字符串,再連接$a=3;$b=2.74;$c=$a.$b;echo"\$c=$c";?>【2-27】字符串轉換數字后的數字值規則假定以數字開始,該數字即為轉換后的數字值;若未找到數字則轉換后的數字值為0;若開頭的數字包含一個句點或大寫或小寫的E,則轉換后的數字值為浮點型PHP程序2-27送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#字符串轉成數字后的數字值規則$a="9Lives"-1;//8(int)$b="3.14Pies"*2;//6.28(float)$c="9lives."-1;//8(float)$d="1E3PointsofLight"+1;//1101echo"\$a=$a<br>";echo"\$b=$b<br>";echo"\$c=$c<br>";echo"\$d=$d<br>";?>4.2字符串連接操作符預備知識

字符串連接操作符;數字與字串連接時,數字先轉換成字串【2-28】數字在與字符串連接時,先自動變成字符串PHP程序2-28送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#數字在與字符串連接時,先自動變成字符串$n=5;$s="Thereare".$n."ducks";echo"\$s=$s";?>類似的,如2-29:【2-29】和2-28差不多的程序PHP程序2-29送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#效果同程序2-28$n=5;$s="Thereare$nducks";echo"\$s=$s";?>4.3自增自減操作符預備知識

數字的自增自減(按數字順序);字母的自增自減(按字母順序)【2-30】PHP程序2-30送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#字母的自增自減運算echo"小寫字母自增:<hr>";$a="a";while($a<="z"){echo$a++;echo"<br>";}echo"大寫字母自增:<hr>";$a="A";while($a<="Z"){echo$a++;echo"<br>";}?><fontcolor=red>請編程驗證:</font><br><tablewidth="75%"border="1"><tr><td>字符串</td><td>字符串++</td></tr><tr><td>"a"</td><td>"b"</td></tr><tr><td>"z"</td><td>"a"</td></tr><tr><td>"spaz"</td><td>"spba"</td></tr><tr><td>"K9"</td><td>"L0"</td></tr><tr><td>"42"</td><td>"43"</td></tr></table>(該圖顯示的是部分結果)4.4類型轉換操作符預備知識

類型轉換操作符;類型轉換的臨時性;類型轉換的真正實現【2-31】類型轉換的臨時性PHP程序2-31送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#轉換類型只是讓別人臨時以某種格式接收自己,并不影響自己的原來面貌$a="5";$b=(int)$a;//這時,$a仍為字符串型if(is_string($a))echo'$a仍是字符串型';?>【2-32】類型轉換的真正實現PHP程序2-32送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#轉換自身類型并保值$a="5";if(is_string($a))echo"開始,\$a是字符串型,值為:$a<br>";$a=(int)$a;if(is_int($a))echo"轉換類型并自賦值后,\$a是整型,值為:$a<br>";?>4.5其它操作符預備知識

錯誤抑制操作符(例子程序見2-13);三元操作符【2-33】三元操作符PHP程序2-33送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#三元操作符使用的例子$a=1;$b=2;echo"\$a=$a,\$b=$b<br>";echo$a>$b?'$a>$b':'$a<$b';?>5.流控制語句5.1if語句預備知識

if結構、if-else結構、if-else鏈接(層進)、if-elseif結構、if-else-endif結構【2-34】使用if-else-endif結構PHP程序2-34送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#if語句的使用echo"常見使用方式:C語言的方式:<br>";$user_validated=true;if($user_validated){echo"歡迎你!<hr>";$greed=1;}else{echo"對不起,禁止訪問!<hr>";exit;}echo"還可使用PHP提供的另一種方式:if-endif結構<br>";$user_validated="";if($user_validated)://注意冒號echo"歡迎你!<hr>";$greed=1;else://注意冒號echo"對不起,禁止訪問!<hr>";exit;endif;//句尾是分號,不是冒號?>【2-35】if語句的使用:嵌入到HTML中(表單驗證)PHP程序2-35送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#if語句的使用:嵌入到HTML中(表單驗證)$name="SunShoulong";$user_validated="1";if($user_validated):?><tableborder=1><tr><td>歡迎你:</td><td><?=$name?></td></tr></table><?else:?>請重新登陸!<?endif;/*此處的分號可省略*/?>【2-36】if語句的鏈接(層進)(使用if-else結構)PHP程序2-36送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#if語句的鏈接(層進)(使用if-else結構)$fenshu=61;echo"你的分數是:$fenshu,屬于:";if($fenshu>90)print("優秀");elseif($fenshu>80&&$fenshu<=90)print("良好");elseif($fenshu>70&&$fenshu<=80)print("中等");elseif($fenshu>60&&$fenshu<=70)print("剛及格");elseif($fenshu<60)print("差");?>【2-37】if語句的鏈接(層進)(使用if-elseif結構)PHP程序2-37送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#if語句的鏈接(層進)(使用if-elseif結構)#閱讀性比2-36好echo"本程序閱讀性比程序2-36好,以下是運行結果<br>";$fenshu=61;echo"你的分數是:$fenshu,屬于:";if($fenshu>90)print("優秀");elseif($fenshu>80&&$fenshu<=90)print("良好");elseif($fenshu>70&&$fenshu<=80)print("中等");elseif($fenshu>60&&$fenshu<=70)print("剛及格");elseif($fenshu<60)print("差");?>【2-38】用if結構的HTML輸出一般做法PHP程序2-38送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#用if結構的HTML輸出一般做法$fenshu=61;echo"以下結果用if結構嵌入HTML實現,程序可讀性稍差<br>";?><tableborder=1><tr><td><?if($fenshu>60)echo"及格";elseecho"不及格";?></td></tr></table><br>用三元操作符簡化使更簡潔的例子見2-39【2-39】用三元操作符簡化使2-38更簡潔的例子PHP程序2-39送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#用三元操作符簡化使2-38更簡潔的例子$fenshu=61;echo"以下結果用三元操作符簡化if結構實現,程序可讀性好<br>";?><tableborder=1><tr><?echo"<td>".($fenshu>60?"及格":"不及格")."</td>";?></tr></table><br>進一步的拼接字串的例子見程序2-39a.php【2-39a】用三元操作符簡化使2-39更簡潔的例子PHP程序2-39a<?php#比2-39字串拼接更復雜的例子$fenshu=61;echo"以下結果用三元操作符結合復雜字串拼接實現,程序可讀性一般,但移植性好<br>";echo"<tableborder=1><tr><td>".($fenshu>60?"及格":"不及格")."</td></tr></table>";?>PHP解釋結果(HTML輸出)(右鍵單擊該頁面,在快捷菜單中單擊”查看源文件”命令可看到)送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)5.2switch語句預備知識

switch的C語言形式、switch-endswitch結構、switch語句中case的合并【2-40】switch-endswith結構的用法PHP程序2-40送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#switch-endswith結構的用法$fenshu=61;$f=(int)($fenshu/10);echo"你的分數是:$fenshu,屬于:";switch($f):case9:print("優秀");break;case8:print("良好");break;case7:print("中等");break;case6:print("剛及格");break;default:print("差");break;endswitch;?>【2-41】case的合并PHP程序2-41送到用戶瀏覽器解釋后顯示的結果(運行結果,顯示在瀏覽器頁面中的結果)<?php#case的合并$fenshu=61;$f=(int)($fenshu/10);echo"你的分數是:$fenshu,屬于:";switch($f)

溫馨提示

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

評論

0/150

提交評論