PHP動態(tài)網(wǎng)站開發(fā)項目教程項目二課件_第1頁
PHP動態(tài)網(wǎng)站開發(fā)項目教程項目二課件_第2頁
PHP動態(tài)網(wǎng)站開發(fā)項目教程項目二課件_第3頁
PHP動態(tài)網(wǎng)站開發(fā)項目教程項目二課件_第4頁
PHP動態(tài)網(wǎng)站開發(fā)項目教程項目二課件_第5頁
已閱讀5頁,還剩177頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目二趣味數(shù)學PHP動態(tài)網(wǎng)站開發(fā)項目教程項目二趣味數(shù)學PHP動態(tài)網(wǎng)站開發(fā)項目教程本項目將進一步熟悉PHP中變量、循環(huán)等編程基礎知識,實現(xiàn)如圖2.1所示的網(wǎng)頁。(源代碼:CD\chapter2\example.php)輸出趣味數(shù)學問題本項目將進一步熟悉PHP中變量、循環(huán)等編程基礎知識,實現(xiàn)如圖3相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量PHP變量PHP運算符與表達式PHP程序流程控制3相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP代碼規(guī)范例2.1嵌入了PHP代碼的HTML如下。(源代碼:\chapter2\test1.php)。PHP代碼通常被嵌入HTML代碼之中。PHP代碼規(guī)范例2.1嵌入了PHP代碼的HTML如下。(源PHP代碼規(guī)范上述代碼執(zhí)行后在IE瀏覽器中的顯示結果如圖所示。在例2.1中嵌入了兩段PHP代碼。其中“<?="red"?>”表示輸出PHP表達式的值作為HTML標記的屬性值;第2段使用了標準的PHP標識符“<?php”和“?>”,表示嵌入了一段PHP代碼。PHP解釋器按照PHP代碼規(guī)范來解析HTML文件中的PHP代碼。PHP代碼中每個語句以分號“;”結束(也使用大括號“{}”標識語句塊),PHP解釋器會忽略所有的空格和換行符。例2.1的書寫格式是為了方便閱讀代碼。PHP代碼規(guī)范上述代碼執(zhí)行后在IE瀏覽器中的顯示結果如圖所示PHP代碼規(guī)范1.PHP代碼標識PHP支持多種風格的代碼標識。(1)PHP表達式格式PHP表達式可以直接輸出到HTML文件,格式為<?=表達式?>這種格式較靈活,可方便地將PHP表達式嵌入HTML代碼的任何位置。例如,在例2.1中將“<?="red"?>”字符串中的“red”作為表達式,輸出到HTML文件,并將其作為HTML內聯(lián)樣式的屬性值。在開始標識“<?PHP”和結束標識“?>”之間嵌入PHP程序代碼,如例2.1所示。這是PHP代碼默認標識,也是最常用的標記格式。(2)<?PHP……?>格式PHP代碼規(guī)范1.PHP代碼標識PHP支持多種風格的代碼標識1.PHP代碼標識使用<?……?>作為PHP程序代碼的開始和結束標識,這種方式也稱為短格式。將例2.1修改為使用短格式的PHP代碼如下。要使用短格式,必須將php.ini中的“short_open_tag”參數(shù)設置為“On”。(3)使用<?……?>短格式1.PHP代碼標識使用<?……?>作為PHP程序代碼的開始和1.PHP代碼標識使用ASP風格作為PHP程序代碼的開始和結束標識,這種格式類似ASP代碼風格。將例2.1修改為使用ASP、JSP風格的PHP代碼如下。要使用ASP風格的格式,必須將php.ini中的asp_tags參數(shù)設置為On。(4)使用ASP風格的格式1.PHP代碼標識使用ASP風格作為PHP程序代碼的開始和結1.PHP代碼標識使用<scriptlanguage='php'>和</script>作為PHP程序代碼的開始和結束標識,這種方式為標準腳本格式。將例2.1修改為標準腳本格式的PHP代碼如下。(5)使用標準腳本格式標準腳本格式嵌入的PHP代碼不受php.ini中short_open_tag和asp_tags參數(shù)設置的影響。事實上,short_open_tag和asp_tags參數(shù)設置為On時,上述5種方式都可同時使用。1.PHP代碼標識使用<scriptlanguage='p2.PHP注釋PHP代碼支持3種風格的注釋,下面分別進行介紹。格式1://單行注釋格式2:#單行注釋格式3:/*多行注釋*/單行注釋獨占一行或放在PHP語句末尾;多行注釋將以“/*”符號開始,“*/”符號結束之間的全部內容作為PHP注釋。2.PHP注釋PHP代碼支持3種風格的注釋,下面分別進行介紹2.PHP注釋例2.2使用PHP注釋,代碼如下。(源代碼:\chapter2\test2.php)2.PHP注釋例2.2使用PHP注釋,代碼如下。(源代碼:2.PHP注釋代碼在IE瀏覽器中的顯示結果如圖所示。PHP解釋器會忽略代碼中的所有注釋,而HTML注釋則不受PHP解釋器影響。HTML注釋被瀏覽器忽略,不顯示給用戶,但在瀏覽器中查看網(wǎng)頁源代碼時,看不到PHP注釋,但可看到HTML注釋。2.PHP注釋代碼在IE瀏覽器中的顯示結果如圖所示。PHP解2.PHP注釋在IE中查看例2.2時,選擇IE的“查看\源”命令,可查看PHP解釋器的輸出結果,如圖所示。2.PHP注釋在IE中查看例2.2時,選擇IE的“查看\源”3.PHP文件包含PHP代碼可以放在獨立的PHP文件中,使用時用include或require包含到當前代碼中即可。文件包含有4種基本格式,下面分別進行介紹。01OPTION02OPTION03OPTION04OPTIONinclude"文件名";include("文件名");require"文件名";require("文件名")。3.PHP文件包含PHP代碼可以放在獨立的PHP文件中,使用3.PHP文件包含例2.3使用PHP文件包含。(源代碼:\chapter2\test3.php、\chapter2\data.php、\chapter2\proc.php)被包含的data.php文件中只定義了一個變量,代碼如下。被包含的proc.php文件中用echo輸出一個字符串,代碼如下。3.PHP文件包含例2.3使用PHP文件包含。(源代碼:\3.PHP文件包含主文件test3.php包含了data.php和proc.php,代碼如下。3.PHP文件包含主文件test3.php包含了data.p3.PHP文件包含主文件test3.php包含了data.php和proc.php,代碼如下。include和require的區(qū)別在于:當所包含的文件出錯時,include只產生一個警告,后繼代碼繼續(xù)執(zhí)行;require則產生一個致命錯誤,后繼代碼不再執(zhí)行。例如,將前面的test3.php中的第一個include語句:修改為3.PHP文件包含主文件test3.php包含了data.p3.PHP文件包含data2.php是一個不存在的文件,在IE瀏覽器中打開修改后的test3.php,顯示結果如圖所示。從圖中可以看出,在出錯的“include("data2.php");”語句前后的代碼均執(zhí)行了。3.PHP文件包含data2.php是一個不存在的文件,在I3.PHP文件包含如果將“include("data2.php");”語句修改為:在IE瀏覽器中打開修改后的test3.php,顯示結果如圖所示。從圖中可以看出,在出錯的“require("data2.php");”語句前的代碼執(zhí)行了,而后面的代碼沒有執(zhí)行。3.PHP文件包含如果將“include("data2.ph3.PHP文件包含提示:當“php.ini”文件中的“display_errors”參數(shù)設置“On”時,才會在瀏覽器中輸出錯誤信息,將其設置為“Off”時則不顯示。提示:多次包含相同文件可能會出現(xiàn)變量或函數(shù)重復定義之類的錯誤??墒褂胕nclude_once或require_once來包含文件,與include或require的區(qū)別在于,前者會檢測是否已包含相同文件,已經(jīng)包含的文件將不再重復包含。3.PHP文件包含提示:提示:21相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量PHP變量PHP運算符與表達式PHP程序流程控制21相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量常量指值不變的量。常量一經(jīng)定義,在腳本的其他任何地方都不允許被修改。常量命名時,可使用英文字母、下畫線、漢字或數(shù)字,數(shù)字不能作為首字母。1.常量的定義與使用常量定義使用define()函數(shù),其基本格式如下:123$name:表示常量名稱的字符串。$value:常量值,可以是字符串、整數(shù)或浮點數(shù)。$case_insensitive:其值為TRUE或FALSE,TRUE為默認值。TRUE表示該常量名稱在使用時不區(qū)分大小寫,F(xiàn)ALSE表示要區(qū)分大小寫。下面對各參數(shù)分別進行介紹。PHP常量常量指值不變的量。常量一經(jīng)定義,在腳本的其他任何地1.常量的定義與使用常量定義后,可使用常量名稱來獲得值,也可使用constant()函數(shù)來獲得常量值。constant()函數(shù)格式如下:該參數(shù)是一個包含常量名稱的字符串,或者是一個存儲常量名稱的變量。defined()函數(shù)可用于測試常量是否已經(jīng)定義,其格式如下:若常量已經(jīng)被定義,函數(shù)返回TRUE,否則返回FALSE。在網(wǎng)頁中TRUE顯示為1,F(xiàn)ALSE顯示為空白。1.常量的定義與使用常量定義后,可使用常量名稱來獲得值,也可1.常量的定義與使用例2.4定義和使用PHP常量代碼如下。(源代碼:\chapter2\test4.php)1.常量的定義與使用例2.4定義和使用PHP常量代碼如下。1.常量的定義與使用例2.4在IE瀏覽器中的顯示結果如圖所示。從圖中可以看出,使用未定義常量時,PHP會輸出一個Notice錯誤信息。1.常量的定義與使用例2.4在IE瀏覽器中的顯示結果如圖所示2.預定義常量PHP中的常用預定義常量如表2.1所示。2.預定義常量PHP中的常用預定義常量如表2.1所示。2.預定義常量例2.5使用PHP預定義常量代碼如下。(源代碼:\chapter2\test5.php)2.預定義常量例2.5使用PHP預定義常量代碼如下。(源代2.預定義常量例2.5代碼在IE瀏覽器中的顯示結果如圖所示。2.預定義常量例2.5代碼在IE瀏覽器中的顯示結果如圖所示。29相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量PHP變量PHP運算符與表達式PHP程序流程控制29相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP變量變量是指在程序運行過程中可以改變變量的值。PHP是一種“弱類型”語言,當你為變量賦值時,值的數(shù)據(jù)類型決定變量的數(shù)據(jù)類型。當給變量賦值不同類型的數(shù)據(jù),也意味著變量的數(shù)據(jù)類型也發(fā)生改變。PHP允許不經(jīng)定義直接使用一個變量。變量可以理解為內存單元的名稱,給變量賦值意味著將數(shù)據(jù)存入內存。1.變量的命名規(guī)則在PHP中,變量的命名規(guī)則如下。?變量名稱的首字母必須是$符號(即美元符號)。?變量名稱中可以包含下畫線、字母和數(shù)字,但數(shù)字不能作為$符號之后的第一個字符。?變量名稱區(qū)分大小寫。所以$ab和$Ab是兩個不同的變量。PHP變量變量是指在程序運行過程中可以改變變量的值。PHP是2.變量的賦值和使用變量賦值有傳值、傳地址、改變變量名稱3種形式,下面分別進行介紹。(1)傳值賦值傳值賦值是指直接將數(shù)據(jù)或變量的值復制放到變量內存中,舉例如下。2.變量的賦值和使用變量賦值有傳值、傳地址、改變變量名稱3種2.變量的賦值和使用(2)傳地址賦值傳地址賦值也稱引用賦值,是指將變量的地址傳遞給另一個變量,使兩個變量具有相同的內存地址。因為兩個變量的內存地址相同,所以這兩個變量相當于同一個內存的不同名字。給一個變量賦值時,另一個變量的值也發(fā)生變化。在變量名稱之前使用&符號,即可獲得變量的地址代碼如下。2.變量的賦值和使用(2)傳地址賦值2.變量的賦值和使用(3)改變變量名稱PHP中有一種特殊用法可以改變變量的名稱。在變量名稱之前加一個“$”符號,即可將變量的值作為變量名稱,代碼如下。2.變量的賦值和使用(3)改變變量名稱3.變量數(shù)據(jù)類型(1)boolean(布爾型)boolean類型用于表示邏輯值,TRUE(不區(qū)分大小寫)表示邏輯真,F(xiàn)ALSE(不區(qū)分大小寫)表示邏輯假。將boolean值用于算術運算或轉換為數(shù)值時,TRUE轉換為1,F(xiàn)ALSE轉換為0。將boolean值轉換為字符串時,TRUE轉換為字符串'1',F(xiàn)ALSE轉換為空字符串。將其他類型數(shù)據(jù)轉換為boolean值時,數(shù)值0、0.0、空白字符串、只包含數(shù)字0的字符串('0'和"0")、沒有成員的數(shù)組、NULL等均轉換為FLASE,其他值轉換為TRUE。PHP盡管是“弱類型”語言,但仍定義了數(shù)據(jù)類型。PHP有8種數(shù)據(jù)類型:boolean(布爾型)、integer(整型)、float(浮點型)、string(字符串)、array(數(shù)組)、object(對象)、resource(資源)和NULL。3.變量數(shù)據(jù)類型(1)boolean(布爾型)PHP盡管是“3.變量數(shù)據(jù)類型(2)integer(整型)integer用于存放整數(shù)。PHP中整數(shù)可以表示為常用的十進制,也可表示為八進制或十六進制。以數(shù)字0開始的整數(shù)為八進制,八進制中只允許使用字符0~7。以0x開始的整數(shù)為十六進制,十六進制中可以使用的字符有0~9、大寫字母A~Z,小寫字母a~z,如123、0123、0x123都是合法的整數(shù)。float用于存放帶小數(shù)點的數(shù)。PHP支持科學計數(shù)法表示小數(shù),如1.23、1.2e3、5E6等都是合法的浮點數(shù)。(3)float(浮點型)提示:PHP中,浮點型數(shù)也稱雙精度數(shù)double或實數(shù)real。浮點數(shù)的精度取決于系統(tǒng),PHP通常使用IEEE754雙精度格式存儲浮點數(shù)。3.變量數(shù)據(jù)類型(2)integer(整型)integer用3.變量數(shù)據(jù)類型(4)string(字符串)PHP中的字符串可以使用單引號、雙引號和定界符3種方式表示。①單引號字符串用單引號括起來的字符串被原樣輸出。在單引號字符串中如果要輸出單引號,可使用“\'”。該符號通常在雙引號字符串中作為轉義字符,PHP單引號字符串只支持轉義單引號,其他轉義符都被原樣輸出。如'123'、'4.5'、'abc'、'mike\'sname'等都是合法的單引號字符串。②雙引號字符串雙引號字符串中的變量被PHP解析為變量值,即字符串中的變量在輸出時輸出變量的值而不是變量名稱。雙引號字符串中可以使用各種轉義符,如表2.2所示。3.變量數(shù)據(jù)類型(4)string(字符串)3.變量數(shù)據(jù)類型②雙引號字符串表2.2

PHP常用預定義常量代碼舉例如下。3.變量數(shù)據(jù)類型②雙引號字符串表2.2PHP常用預定義常3.變量數(shù)據(jù)類型③定界符字符串代碼舉例如下。“<<<標識符”表示下一行為字符串開始,標識符后面不能有任何字符。“標識符;”表示字符串結束,注意末尾的分號。字符串結束符號必須單獨放在一行,“標識符;”前后不允許有其他任何字符,舉例如下。3.變量數(shù)據(jù)類型③定界符字符串代碼舉例如下?!?lt;<<標識符3.變量數(shù)據(jù)類型(5)數(shù)組PHP中的數(shù)組相比于其他高級程序設計語言更復雜,也更靈活。PHP數(shù)組的每個數(shù)組元素擁有一個“鍵”和“值”。鍵名作為索引,用于訪問數(shù)組元素。數(shù)組元素可以存儲整型、浮點型、字符串型、布爾型或數(shù)組等類型的數(shù)據(jù)。在PHP中,array()函數(shù)用于創(chuàng)建數(shù)組。array()函數(shù)基本格式如下。在創(chuàng)建數(shù)組時,如果省略了鍵名,則默認鍵名依次為0、1、2…若只為個別元素指定了字符串作為鍵名,則剩余未指定鍵名的數(shù)組元素的鍵名仍依次為0、1、2…若用整數(shù)作為數(shù)組元素鍵名,則其后數(shù)組元素默認鍵名從該整數(shù)起依次加1,例如,$a=array("one",5=>"two","three"),第三個元素的鍵名為6。比較特殊的情況是指定的鍵名比前面元素的鍵名小,則其后元素的默認鍵名為前面值最大的鍵名加1,例如,$a=array(7=>"one",3=>"two","three");,第三個元素的鍵名為8。3.變量數(shù)據(jù)類型(5)數(shù)組在創(chuàng)建數(shù)組時,如果省略了鍵名,則默3.變量數(shù)據(jù)類型其中,$var為保存數(shù)組的變量,key1、key2、key3等為鍵,可以使用整數(shù)或字符串作為鍵。創(chuàng)建數(shù)組后,可使用print_r()函數(shù)輸出數(shù)組,查看數(shù)組的鍵值,代碼如下。3.變量數(shù)據(jù)類型其中,$var為保存數(shù)組的變量,key1、k3.變量數(shù)據(jù)類型(6)object(對象)類型object變量用于保存類的實例(即對象),代碼舉例如下。(7)NULLNULL表示空值,即沒有值。注意,NULL并不表示0、空格或空字符串。未賦值的變量為NULL。3.變量數(shù)據(jù)類型(6)object(對象)類型(7)NULL4.數(shù)據(jù)類型轉換數(shù)據(jù)類型轉換是指將變量或值轉換為另一種數(shù)據(jù)類型。PHP中數(shù)據(jù)類型轉換可分為自動數(shù)據(jù)類型轉換和強制類型轉換。(1)自動數(shù)據(jù)類型轉換PHP中變量的數(shù)據(jù)類型由存入變量的數(shù)據(jù)來決定,即在存入不同類型數(shù)據(jù)時,變量的數(shù)據(jù)類型就自動發(fā)生轉換?;蛘咴谑褂貌煌愋偷臄?shù)據(jù)進行運算時,所有數(shù)據(jù)自動轉換為一種類型進行運算。4.數(shù)據(jù)類型轉換數(shù)據(jù)類型轉換是指將變量或值轉換為另一種數(shù)據(jù)類4.數(shù)據(jù)類型轉換通常,只有布爾型、字符串型、整型和浮點型數(shù)據(jù)之間可以自動轉換數(shù)據(jù)類型。下面對自動數(shù)據(jù)類型轉換規(guī)則分別進行介紹。

添加文本布爾型值參與運算時,TRUE轉換為1,F(xiàn)ALSE轉換為0。若是轉換為字符串,則TRUE轉換為"1",F(xiàn)ALSE轉換為空字符串。NULL參與運算時,轉換為數(shù)值0。整型值和浮點型值同時參與運算時,整型轉換為浮點型。字符串和數(shù)值(整型值或浮點型值)運算時,字符串轉換為數(shù)值。通常,字符串開頭的數(shù)值部分被轉換。若字符串開頭不包含數(shù)值,則轉換為0。例如,"1234xyz"轉換為1234,"12.34xyz"轉換為12.34,"xyz"轉換為0。4.數(shù)據(jù)類型轉換通常,只有布爾型、字符串型、整型和浮點型數(shù)據(jù)4.數(shù)據(jù)類型轉換(2)強制類型轉換PHP支持3種方式轉換數(shù)據(jù)類型,分別為使用類型名、使用類型取值函數(shù)和設置變量類型轉換,下面分別對3種類型轉換進行介紹。①使用類型名轉換類型其基本格式為在變量或數(shù)據(jù)之前使用括號指定要轉換的目標數(shù)據(jù)類型,如(int)2.345。PHP支持下列類型名數(shù)據(jù)轉換。?(int)、(integer):轉換為整型integer。?(bool)、(boolean):轉換為布爾類型boolean。?(float)、(double)、(real):轉換為浮點型float。?(string):轉換為字符串string。?(array):轉換為數(shù)組array。?(object):轉換為對象object。?(unset):轉換為NULL。4.數(shù)據(jù)類型轉換(2)強制類型轉換PHP支持3種方式轉換數(shù)據(jù)4.數(shù)據(jù)類型轉換②使用類型取值函數(shù)類型取值函數(shù)可以將變量或數(shù)據(jù)轉換為對應類型。下面分別對PHP類型取值函數(shù)進行介紹。intval():轉換為整型,如intval($str)。floatval():轉換為浮點型,如floatval($str)。strval():轉換為字符串型,如strval($x)。4.數(shù)據(jù)類型轉換②使用類型取值函數(shù)intval():轉換為5.變量處理函數(shù)除了前面介紹到的函數(shù)外,PHP還提供了其他函數(shù)用于處理變量,下面分別進行介紹。?is_array():檢測變量是否是數(shù)組。?is_bool():檢測變量是否是布爾型。?is_float()、is_double()、is_real():檢測變量是否是浮點型。?is_int()、is_integer()、is_long():檢測變量是否是整數(shù)。?is_null():檢測變量是否為NULL。?is_numeric():檢測變量是否為數(shù)字或數(shù)字字符串。?is_object():檢測變量是否是一個對象。?is_string():檢測變量是否是字符串。?print_r():輸出變量信息。string、integer或float等簡單類型輸出變量值。?serialize():返回變量的序列化表示的字符串。?unserialize():從序列化字符串中反序列化,獲得序列化之前的變量值(包括其數(shù)據(jù)類型)。?unset():從內存刪除指定的變量。?var_dump():與print_r()類似,但包含了數(shù)據(jù)類型信息。5.變量處理函數(shù)除了前面介紹到的函數(shù)外,PHP還提供了其他函5.變量處理函數(shù)例2.6使用PHP變量,代碼如下。(源代碼:\chapter2\test6.php)5.變量處理函數(shù)例2.6使用PHP變量,代碼如下。(源代碼5.變量處理函數(shù)例2.6使用PHP變量,代碼如下。(源代碼:\chapter2\test6.php)例2.6代碼在IE瀏覽器中的顯示結果如圖2.10所示。5.變量處理函數(shù)例2.6使用PHP變量,代碼如下。(源代碼49相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量PHP變量PHP運算符與表達式PHP程序流程控制49相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP運算符與表達式運算符用于完成某種運算,包含運算符的式子稱表達式。參與運算的數(shù)據(jù)稱操作數(shù)。根據(jù)參與運算的操作數(shù)的個數(shù),在運算過程中還將運算符分為算術運算符、位運算符、賦值運算符、比較運算符、邏輯運算符、錯誤控制運算符等,下面分別進行介紹。1.算術運算符算術運算符用于執(zhí)行算術運算。表2.3列出了PHP的算術運算符。除法運算通常獲得浮點型運算結果。當兩個整數(shù)相除,并且剛好被整除,則獲得整型運算結果。而取模運算的操作數(shù)必須是整數(shù),若操作數(shù)不是整數(shù),則先去掉小數(shù)部分,將其轉換為整數(shù)。余數(shù)符號與第一個操作數(shù)的符號相同。PHP運算符與表達式運算符用于完成某種運算,包含運算符的式子1.算術運算符例2.7使用PHP加法運算,代碼如下。(源代碼:\chapter2\test7.php)1.算術運算符例2.7使用PHP加法運算,代碼如下。(源代1.算術運算符例2.7代碼在IE瀏覽器中的顯示結果如圖所示。1.算術運算符例2.7代碼在IE瀏覽器中的顯示結果如圖所示。2.位運算符位運算符用于按二進制位執(zhí)行運算。表2.4列出了PHP的位運算符。位運算向左移位時,最低位總是補0,最高位移出丟棄,即符號位不保留;向右移位時,最高位(符號位)保持移出之前的值,即不改變符號。如果兩個操作數(shù)都是字符串,則按字符的ASCII碼執(zhí)行位運算。2.位運算符位運算符用于按二進制位執(zhí)行運算。表2.4列出了P2.位運算符例2.8使用PHP位運算,代碼如下。(源代碼:\chapter2\test8.php)2.位運算符例2.8使用PHP位運算,代碼如下。(源代碼:2.位運算符例2.8代碼在IE瀏覽器中的顯示結果如圖所示。2.位運算符例2.8代碼在IE瀏覽器中的顯示結果如圖所示。3.賦值運算符最簡單的賦值運算是使用“=”將一個表達式的值賦值給一個變量。例如:PHP還支持等號與運算符結合的組合賦值運算符,如表2.5所示。3.賦值運算符最簡單的賦值運算是使用“=”將一個表達式的值賦3.賦值運算符點號(.)是字符串連接符號,將兩個字符串連接在一起。賦值運算作為表達式使用時,表達式的值就是所賦的值。例如:3.賦值運算符點號(.)是字符串連接符號,將兩個字符串連接在4.比較運算符比較運算符用于將兩個操作數(shù)做比較,比較結果為布爾值。如果操作數(shù)為數(shù)值,則數(shù)值比較大??;如果操作數(shù)是字符串,則按對應字符的ASCII大小進行比較。表2.6列出了PHP的比較運算符。4.比較運算符比較運算符用于將兩個操作數(shù)做比較,比較結果為布5.邏輯運算符邏輯運算符用于兩個布爾型操作數(shù)之間的運算,運算結果為布爾值。表2.7列出了PHP的邏輯運算符。5.邏輯運算符邏輯運算符用于兩個布爾型操作數(shù)之間的運算,運算6.錯誤控制運算符PHP允許在表達式之前使用@符號來屏蔽表達式中的錯誤。例如:表達式9/0表示除數(shù)為0時將顯示出錯。因為使用了@符號,PHP忽略該表達式,不會輸出任何信息。提示:若用set_error_handler()設定了自定義的錯誤處理函數(shù),即使使用了@符號,表達式出錯時仍會調用自定義的錯誤處理函數(shù)進行處理。若php.ini中track_errors設置為on,表達式錯誤信息會存放在變量$php_errormsg中。提示:若“@”符號屏蔽了會導致腳本終止的嚴重錯誤,則PHP腳本可能沒有任何提示信息就消散。所以建議最好不要使用錯誤控制運算符。6.錯誤控制運算符PHP允許在表達式之前使用@符號來屏蔽表達7.執(zhí)行運算符執(zhí)行運算符是指PHP允許使用反引號(`)來執(zhí)行操作命令,并返回命令執(zhí)行結果。例如:該例在PHP代碼中執(zhí)行ping命令測試IP,在IE瀏覽器中的顯示結果如圖所示。7.執(zhí)行運算符執(zhí)行運算符是指PHP允許使用反引號(`)來執(zhí)行8.條件運算符條件運算符類似于if語句,其基本格式為若表達式1的值為TRUE,則返回表達式2的值,否則返回表達式3的值。例如:8.條件運算符條件運算符類似于if語句,其基本格式為9.運算符的優(yōu)先級當表達式中包含多種運算時,將按運算符的優(yōu)先順序進行計算。表2.8按照優(yōu)先級從高到低的順序列出了PHP中的運算符。9.運算符的優(yōu)先級當表達式中包含多種運算時,將按運算符的優(yōu)先9.運算符的優(yōu)先級9.運算符的優(yōu)先級65相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量PHP變量PHP運算符與表達式PHP程序流程控制65相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP程序流程控制PHP程序流程控制包括if語句、switch語句、for語句、foreach語句、while語句、do…while語句以及特殊流程控制語句等。1.if語句if語句根據(jù)條件執(zhí)行不同分支。if語句可分簡單if語句、if…else語句和if…elseif語句。(1)簡單if語句簡單if語句的基本格式如下:PHP程序流程控制PHP程序流程控制包括if語句、switc1.if語句(1)簡單if語句表達式的值為TRUE時,執(zhí)行大括號中的語句組。如果只有一條語句,則可省略大括號。將兩個變量中的數(shù)按大小排序,代碼如下:1.if語句(1)簡單if語句1.if語句(2)if…else語句if…else語句的基本格式如下:表達式的值為TRUE時,執(zhí)行語句組1,否則執(zhí)行語句組2。下面的代碼用于判斷變量$x中的數(shù)是否為閏年:1.if語句(2)if…else語句表達式的值為TRUE時,1.if語句(3)if…elseif語句if…elseif語句基本格式如下:1.if語句(3)if…elseif語句1.if語句(3)if…elseif語句執(zhí)行時,按順序計算各個表達式的值。若表達式的值為TRUE,則執(zhí)行對應的語句組,執(zhí)行完后,if語句結束。若所有表達式的值都為FALSE,則執(zhí)行else部分的語句組n+1。下面的代碼用于根據(jù)分數(shù)輸出評語:1.if語句(3)if…elseif語句1.if語句例2.9產生3個100以內的隨機正整數(shù),按照從小到大的順序輸出,代碼如下。(源代碼:\chapter2\test9.php)1.if語句例2.9產生3個100以內的隨機正整數(shù),按照從1.if語句例2.9產生3個100以內的隨機正整數(shù),按照從小到大的順序輸出,代碼如下。(源代碼:\chapter2\test9.php)1.if語句例2.9產生3個100以內的隨機正整數(shù),按照從1.if語句例2.9產生3個100以內的隨機正整數(shù),按照從小到大的順序輸出,代碼如下。(源代碼:\chapter2\test9.php)例2.9代碼在IE瀏覽器中的顯示結果如圖所示。1.if語句例2.9產生3個100以內的隨機正整數(shù),按照從1.if語句例2.9產生3個100以內的隨機正整數(shù),按照從小到大的順序輸出,代碼如下。(源代碼:\chapter2\test9.php)例2.9代碼在IE瀏覽器中的顯示結果如圖所示。1.if語句例2.9產生3個100以內的隨機正整數(shù),按照從2.switch語句switch語句類似于if…elseif,用于實現(xiàn)多分支選擇結構,其基本格式為在執(zhí)行switch語句時,首先計算表達式的值,然后按順序測試表達式的值與case后執(zhí)行的值是否匹配。如果匹配,則執(zhí)行對應的語句組。語句組執(zhí)行完后,遇到break則結束switch語句。如果沒有break語句,則繼續(xù)執(zhí)行后繼case塊中的代碼,直到遇到break或switch語句結束。如果沒有值與表達式的值匹配,則執(zhí)行default部分的語句組。default部分可以省略。2.switch語句switch語句類似于if…elsei2.switch語句例2.10以下代碼產生了一個[1,7]范圍內的隨機正整數(shù),輸出對應是星期幾。(源代碼:\chapter2\test10.php)2.switch語句例2.10以下代碼產生了一個[1,7]2.switch語句例2.10代碼在IE瀏覽器中的顯示結果如圖2.15所示。2.switch語句例2.10代碼在IE瀏覽器中的顯示結果如3.for循環(huán)for循環(huán)基本格式如下:語句組也稱循環(huán)體。若只有一條語句,可省略大括號。表達式1中通常為循環(huán)控制變量賦初始值。for循環(huán)執(zhí)行過程如下。①計算表達式1。②計算表達式2,,若結果為TRUE,則進行第③步操作,否則循環(huán)結束。③執(zhí)行語句組。④計算表達式4,轉第②步。3.for循環(huán)for循環(huán)基本格式如下:語句組也稱循環(huán)體。若只3.for循環(huán)例2.11代碼在IE瀏覽器中的顯示結果如圖2.16所示。例2.11計算1+2+3+…+100,代碼如下。(源代碼:\chapter2\test11.php)3.for循環(huán)例2.11代碼在IE瀏覽器中的顯示結果如圖2.4.foreach循環(huán)變量$var依次取數(shù)組$a中的每一個值。例如:foreach循環(huán)用于數(shù)組或對象,遍歷其成員。foreach循環(huán)基本格式為4.foreach循環(huán)變量$var依次取數(shù)組$a中的每一個值4.foreach循環(huán)變量$key依次取數(shù)組$a中的每一個鍵名,變量$val則取鍵名對應的值。例如:foreach循環(huán)基本格式為4.foreach循環(huán)變量$key依次取數(shù)組$a中的每一個鍵5.while循環(huán)或者:while循環(huán)的基本格式為5.while循環(huán)或者:while循環(huán)的基本格式為6.do…while循環(huán)while循環(huán)執(zhí)行時首先計算表達式的值,若結果為TURE,則執(zhí)行語句組,否則循環(huán)結束。語句組執(zhí)行完后,重新計算表達式的值,判斷是否循環(huán)。下面的代碼使用while循環(huán)計算1+2+3+…+100,例如:6.do…while循環(huán)while循環(huán)執(zhí)行時首先計算表達式的6.do…while循環(huán)do…while循環(huán)基本格式如下:可以看出,do…while循環(huán)與while循環(huán)的區(qū)別在于,do…while循環(huán)首先執(zhí)行一次循環(huán)體中的語句,然后計算表達式的值判斷是否循環(huán)。例如:6.do…while循環(huán)do…while循環(huán)基本格式如下:可7.特殊流程控制語句PHP提供了幾個特殊語句用于控制程序流程,分別為continue、break、exit和die,下面分別進行介紹。(1)continue語句continue語句用于for、while、do…while等循環(huán)中,其作用是結束本輪循環(huán),開始下一次循環(huán),continue之后的循環(huán)語句不再執(zhí)行。下面的循環(huán)計算[1,100]范圍內不能被3整除的數(shù)之和,代碼如下:7.特殊流程控制語句PHP提供了幾個特殊語句用于控制程序流程7.特殊流程控制語句(1)continue語句該程序等價于:通過對比,顯然第2種程序更容易理解,所以除非必要,盡量少用continue等特殊流程控制語句。在多重循環(huán)中,可以為continue指定一個參數(shù)來決定開始外面的第幾重循環(huán)。7.特殊流程控制語句(1)continue語句該程序等價于:7.特殊流程控制語句(2)break語句break語句用在循環(huán)中可以跳出當前循環(huán),例如:在多重循環(huán)中,同樣可以為break指定一個參數(shù)來決定跳出幾重循環(huán)。7.特殊流程控制語句(2)break語句break語句用在循7.特殊流程控制語句(3)exit語句exit語句用于輸出一個消息并結束當前腳本,例如:die語句等同于exit語句,例如:(4)die語句7.特殊流程控制語句(3)exit語句exit語句用于輸出一89相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量PHP變量PHP運算符與表達式PHP程序流程控制89相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范項目實現(xiàn)趣味數(shù)學問題頁面中一共輸出了9行數(shù)據(jù)。若用“$a”表示行數(shù)(初始值為1),$b表示上一行等號前面的算術表達式中的第1個操作數(shù)(初始值為0),則第$a行第1個數(shù)等于$b*10+$a。實例代碼:項目實現(xiàn)趣味數(shù)學問題頁面中一共輸出了9行數(shù)據(jù)。若用“$a”表91Thankyou!91Thankyou!項目二趣味數(shù)學PHP動態(tài)網(wǎng)站開發(fā)項目教程項目二趣味數(shù)學PHP動態(tài)網(wǎng)站開發(fā)項目教程本項目將進一步熟悉PHP中變量、循環(huán)等編程基礎知識,實現(xiàn)如圖2.1所示的網(wǎng)頁。(源代碼:CD\chapter2\example.php)輸出趣味數(shù)學問題本項目將進一步熟悉PHP中變量、循環(huán)等編程基礎知識,實現(xiàn)如圖94相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量PHP變量PHP運算符與表達式PHP程序流程控制3相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP代碼規(guī)范例2.1嵌入了PHP代碼的HTML如下。(源代碼:\chapter2\test1.php)。PHP代碼通常被嵌入HTML代碼之中。PHP代碼規(guī)范例2.1嵌入了PHP代碼的HTML如下。(源PHP代碼規(guī)范上述代碼執(zhí)行后在IE瀏覽器中的顯示結果如圖所示。在例2.1中嵌入了兩段PHP代碼。其中“<?="red"?>”表示輸出PHP表達式的值作為HTML標記的屬性值;第2段使用了標準的PHP標識符“<?php”和“?>”,表示嵌入了一段PHP代碼。PHP解釋器按照PHP代碼規(guī)范來解析HTML文件中的PHP代碼。PHP代碼中每個語句以分號“;”結束(也使用大括號“{}”標識語句塊),PHP解釋器會忽略所有的空格和換行符。例2.1的書寫格式是為了方便閱讀代碼。PHP代碼規(guī)范上述代碼執(zhí)行后在IE瀏覽器中的顯示結果如圖所示PHP代碼規(guī)范1.PHP代碼標識PHP支持多種風格的代碼標識。(1)PHP表達式格式PHP表達式可以直接輸出到HTML文件,格式為<?=表達式?>這種格式較靈活,可方便地將PHP表達式嵌入HTML代碼的任何位置。例如,在例2.1中將“<?="red"?>”字符串中的“red”作為表達式,輸出到HTML文件,并將其作為HTML內聯(lián)樣式的屬性值。在開始標識“<?PHP”和結束標識“?>”之間嵌入PHP程序代碼,如例2.1所示。這是PHP代碼默認標識,也是最常用的標記格式。(2)<?PHP……?>格式PHP代碼規(guī)范1.PHP代碼標識PHP支持多種風格的代碼標識1.PHP代碼標識使用<?……?>作為PHP程序代碼的開始和結束標識,這種方式也稱為短格式。將例2.1修改為使用短格式的PHP代碼如下。要使用短格式,必須將php.ini中的“short_open_tag”參數(shù)設置為“On”。(3)使用<?……?>短格式1.PHP代碼標識使用<?……?>作為PHP程序代碼的開始和1.PHP代碼標識使用ASP風格作為PHP程序代碼的開始和結束標識,這種格式類似ASP代碼風格。將例2.1修改為使用ASP、JSP風格的PHP代碼如下。要使用ASP風格的格式,必須將php.ini中的asp_tags參數(shù)設置為On。(4)使用ASP風格的格式1.PHP代碼標識使用ASP風格作為PHP程序代碼的開始和結1.PHP代碼標識使用<scriptlanguage='php'>和</script>作為PHP程序代碼的開始和結束標識,這種方式為標準腳本格式。將例2.1修改為標準腳本格式的PHP代碼如下。(5)使用標準腳本格式標準腳本格式嵌入的PHP代碼不受php.ini中short_open_tag和asp_tags參數(shù)設置的影響。事實上,short_open_tag和asp_tags參數(shù)設置為On時,上述5種方式都可同時使用。1.PHP代碼標識使用<scriptlanguage='p2.PHP注釋PHP代碼支持3種風格的注釋,下面分別進行介紹。格式1://單行注釋格式2:#單行注釋格式3:/*多行注釋*/單行注釋獨占一行或放在PHP語句末尾;多行注釋將以“/*”符號開始,“*/”符號結束之間的全部內容作為PHP注釋。2.PHP注釋PHP代碼支持3種風格的注釋,下面分別進行介紹2.PHP注釋例2.2使用PHP注釋,代碼如下。(源代碼:\chapter2\test2.php)2.PHP注釋例2.2使用PHP注釋,代碼如下。(源代碼:2.PHP注釋代碼在IE瀏覽器中的顯示結果如圖所示。PHP解釋器會忽略代碼中的所有注釋,而HTML注釋則不受PHP解釋器影響。HTML注釋被瀏覽器忽略,不顯示給用戶,但在瀏覽器中查看網(wǎng)頁源代碼時,看不到PHP注釋,但可看到HTML注釋。2.PHP注釋代碼在IE瀏覽器中的顯示結果如圖所示。PHP解2.PHP注釋在IE中查看例2.2時,選擇IE的“查看\源”命令,可查看PHP解釋器的輸出結果,如圖所示。2.PHP注釋在IE中查看例2.2時,選擇IE的“查看\源”3.PHP文件包含PHP代碼可以放在獨立的PHP文件中,使用時用include或require包含到當前代碼中即可。文件包含有4種基本格式,下面分別進行介紹。01OPTION02OPTION03OPTION04OPTIONinclude"文件名";include("文件名");require"文件名";require("文件名")。3.PHP文件包含PHP代碼可以放在獨立的PHP文件中,使用3.PHP文件包含例2.3使用PHP文件包含。(源代碼:\chapter2\test3.php、\chapter2\data.php、\chapter2\proc.php)被包含的data.php文件中只定義了一個變量,代碼如下。被包含的proc.php文件中用echo輸出一個字符串,代碼如下。3.PHP文件包含例2.3使用PHP文件包含。(源代碼:\3.PHP文件包含主文件test3.php包含了data.php和proc.php,代碼如下。3.PHP文件包含主文件test3.php包含了data.p3.PHP文件包含主文件test3.php包含了data.php和proc.php,代碼如下。include和require的區(qū)別在于:當所包含的文件出錯時,include只產生一個警告,后繼代碼繼續(xù)執(zhí)行;require則產生一個致命錯誤,后繼代碼不再執(zhí)行。例如,將前面的test3.php中的第一個include語句:修改為3.PHP文件包含主文件test3.php包含了data.p3.PHP文件包含data2.php是一個不存在的文件,在IE瀏覽器中打開修改后的test3.php,顯示結果如圖所示。從圖中可以看出,在出錯的“include("data2.php");”語句前后的代碼均執(zhí)行了。3.PHP文件包含data2.php是一個不存在的文件,在I3.PHP文件包含如果將“include("data2.php");”語句修改為:在IE瀏覽器中打開修改后的test3.php,顯示結果如圖所示。從圖中可以看出,在出錯的“require("data2.php");”語句前的代碼執(zhí)行了,而后面的代碼沒有執(zhí)行。3.PHP文件包含如果將“include("data2.ph3.PHP文件包含提示:當“php.ini”文件中的“display_errors”參數(shù)設置“On”時,才會在瀏覽器中輸出錯誤信息,將其設置為“Off”時則不顯示。提示:多次包含相同文件可能會出現(xiàn)變量或函數(shù)重復定義之類的錯誤。可使用include_once或require_once來包含文件,與include或require的區(qū)別在于,前者會檢測是否已包含相同文件,已經(jīng)包含的文件將不再重復包含。3.PHP文件包含提示:提示:112相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量PHP變量PHP運算符與表達式PHP程序流程控制21相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量常量指值不變的量。常量一經(jīng)定義,在腳本的其他任何地方都不允許被修改。常量命名時,可使用英文字母、下畫線、漢字或數(shù)字,數(shù)字不能作為首字母。1.常量的定義與使用常量定義使用define()函數(shù),其基本格式如下:123$name:表示常量名稱的字符串。$value:常量值,可以是字符串、整數(shù)或浮點數(shù)。$case_insensitive:其值為TRUE或FALSE,TRUE為默認值。TRUE表示該常量名稱在使用時不區(qū)分大小寫,F(xiàn)ALSE表示要區(qū)分大小寫。下面對各參數(shù)分別進行介紹。PHP常量常量指值不變的量。常量一經(jīng)定義,在腳本的其他任何地1.常量的定義與使用常量定義后,可使用常量名稱來獲得值,也可使用constant()函數(shù)來獲得常量值。constant()函數(shù)格式如下:該參數(shù)是一個包含常量名稱的字符串,或者是一個存儲常量名稱的變量。defined()函數(shù)可用于測試常量是否已經(jīng)定義,其格式如下:若常量已經(jīng)被定義,函數(shù)返回TRUE,否則返回FALSE。在網(wǎng)頁中TRUE顯示為1,F(xiàn)ALSE顯示為空白。1.常量的定義與使用常量定義后,可使用常量名稱來獲得值,也可1.常量的定義與使用例2.4定義和使用PHP常量代碼如下。(源代碼:\chapter2\test4.php)1.常量的定義與使用例2.4定義和使用PHP常量代碼如下。1.常量的定義與使用例2.4在IE瀏覽器中的顯示結果如圖所示。從圖中可以看出,使用未定義常量時,PHP會輸出一個Notice錯誤信息。1.常量的定義與使用例2.4在IE瀏覽器中的顯示結果如圖所示2.預定義常量PHP中的常用預定義常量如表2.1所示。2.預定義常量PHP中的常用預定義常量如表2.1所示。2.預定義常量例2.5使用PHP預定義常量代碼如下。(源代碼:\chapter2\test5.php)2.預定義常量例2.5使用PHP預定義常量代碼如下。(源代2.預定義常量例2.5代碼在IE瀏覽器中的顯示結果如圖所示。2.預定義常量例2.5代碼在IE瀏覽器中的顯示結果如圖所示。120相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量PHP變量PHP運算符與表達式PHP程序流程控制29相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP變量變量是指在程序運行過程中可以改變變量的值。PHP是一種“弱類型”語言,當你為變量賦值時,值的數(shù)據(jù)類型決定變量的數(shù)據(jù)類型。當給變量賦值不同類型的數(shù)據(jù),也意味著變量的數(shù)據(jù)類型也發(fā)生改變。PHP允許不經(jīng)定義直接使用一個變量。變量可以理解為內存單元的名稱,給變量賦值意味著將數(shù)據(jù)存入內存。1.變量的命名規(guī)則在PHP中,變量的命名規(guī)則如下。?變量名稱的首字母必須是$符號(即美元符號)。?變量名稱中可以包含下畫線、字母和數(shù)字,但數(shù)字不能作為$符號之后的第一個字符。?變量名稱區(qū)分大小寫。所以$ab和$Ab是兩個不同的變量。PHP變量變量是指在程序運行過程中可以改變變量的值。PHP是2.變量的賦值和使用變量賦值有傳值、傳地址、改變變量名稱3種形式,下面分別進行介紹。(1)傳值賦值傳值賦值是指直接將數(shù)據(jù)或變量的值復制放到變量內存中,舉例如下。2.變量的賦值和使用變量賦值有傳值、傳地址、改變變量名稱3種2.變量的賦值和使用(2)傳地址賦值傳地址賦值也稱引用賦值,是指將變量的地址傳遞給另一個變量,使兩個變量具有相同的內存地址。因為兩個變量的內存地址相同,所以這兩個變量相當于同一個內存的不同名字。給一個變量賦值時,另一個變量的值也發(fā)生變化。在變量名稱之前使用&符號,即可獲得變量的地址代碼如下。2.變量的賦值和使用(2)傳地址賦值2.變量的賦值和使用(3)改變變量名稱PHP中有一種特殊用法可以改變變量的名稱。在變量名稱之前加一個“$”符號,即可將變量的值作為變量名稱,代碼如下。2.變量的賦值和使用(3)改變變量名稱3.變量數(shù)據(jù)類型(1)boolean(布爾型)boolean類型用于表示邏輯值,TRUE(不區(qū)分大小寫)表示邏輯真,F(xiàn)ALSE(不區(qū)分大小寫)表示邏輯假。將boolean值用于算術運算或轉換為數(shù)值時,TRUE轉換為1,F(xiàn)ALSE轉換為0。將boolean值轉換為字符串時,TRUE轉換為字符串'1',F(xiàn)ALSE轉換為空字符串。將其他類型數(shù)據(jù)轉換為boolean值時,數(shù)值0、0.0、空白字符串、只包含數(shù)字0的字符串('0'和"0")、沒有成員的數(shù)組、NULL等均轉換為FLASE,其他值轉換為TRUE。PHP盡管是“弱類型”語言,但仍定義了數(shù)據(jù)類型。PHP有8種數(shù)據(jù)類型:boolean(布爾型)、integer(整型)、float(浮點型)、string(字符串)、array(數(shù)組)、object(對象)、resource(資源)和NULL。3.變量數(shù)據(jù)類型(1)boolean(布爾型)PHP盡管是“3.變量數(shù)據(jù)類型(2)integer(整型)integer用于存放整數(shù)。PHP中整數(shù)可以表示為常用的十進制,也可表示為八進制或十六進制。以數(shù)字0開始的整數(shù)為八進制,八進制中只允許使用字符0~7。以0x開始的整數(shù)為十六進制,十六進制中可以使用的字符有0~9、大寫字母A~Z,小寫字母a~z,如123、0123、0x123都是合法的整數(shù)。float用于存放帶小數(shù)點的數(shù)。PHP支持科學計數(shù)法表示小數(shù),如1.23、1.2e3、5E6等都是合法的浮點數(shù)。(3)float(浮點型)提示:PHP中,浮點型數(shù)也稱雙精度數(shù)double或實數(shù)real。浮點數(shù)的精度取決于系統(tǒng),PHP通常使用IEEE754雙精度格式存儲浮點數(shù)。3.變量數(shù)據(jù)類型(2)integer(整型)integer用3.變量數(shù)據(jù)類型(4)string(字符串)PHP中的字符串可以使用單引號、雙引號和定界符3種方式表示。①單引號字符串用單引號括起來的字符串被原樣輸出。在單引號字符串中如果要輸出單引號,可使用“\'”。該符號通常在雙引號字符串中作為轉義字符,PHP單引號字符串只支持轉義單引號,其他轉義符都被原樣輸出。如'123'、'4.5'、'abc'、'mike\'sname'等都是合法的單引號字符串。②雙引號字符串雙引號字符串中的變量被PHP解析為變量值,即字符串中的變量在輸出時輸出變量的值而不是變量名稱。雙引號字符串中可以使用各種轉義符,如表2.2所示。3.變量數(shù)據(jù)類型(4)string(字符串)3.變量數(shù)據(jù)類型②雙引號字符串表2.2

PHP常用預定義常量代碼舉例如下。3.變量數(shù)據(jù)類型②雙引號字符串表2.2PHP常用預定義常3.變量數(shù)據(jù)類型③定界符字符串代碼舉例如下。“<<<標識符”表示下一行為字符串開始,標識符后面不能有任何字符?!皹俗R符;”表示字符串結束,注意末尾的分號。字符串結束符號必須單獨放在一行,“標識符;”前后不允許有其他任何字符,舉例如下。3.變量數(shù)據(jù)類型③定界符字符串代碼舉例如下?!?lt;<<標識符3.變量數(shù)據(jù)類型(5)數(shù)組PHP中的數(shù)組相比于其他高級程序設計語言更復雜,也更靈活。PHP數(shù)組的每個數(shù)組元素擁有一個“鍵”和“值”。鍵名作為索引,用于訪問數(shù)組元素。數(shù)組元素可以存儲整型、浮點型、字符串型、布爾型或數(shù)組等類型的數(shù)據(jù)。在PHP中,array()函數(shù)用于創(chuàng)建數(shù)組。array()函數(shù)基本格式如下。在創(chuàng)建數(shù)組時,如果省略了鍵名,則默認鍵名依次為0、1、2…若只為個別元素指定了字符串作為鍵名,則剩余未指定鍵名的數(shù)組元素的鍵名仍依次為0、1、2…若用整數(shù)作為數(shù)組元素鍵名,則其后數(shù)組元素默認鍵名從該整數(shù)起依次加1,例如,$a=array("one",5=>"two","three"),第三個元素的鍵名為6。比較特殊的情況是指定的鍵名比前面元素的鍵名小,則其后元素的默認鍵名為前面值最大的鍵名加1,例如,$a=array(7=>"one",3=>"two","three");,第三個元素的鍵名為8。3.變量數(shù)據(jù)類型(5)數(shù)組在創(chuàng)建數(shù)組時,如果省略了鍵名,則默3.變量數(shù)據(jù)類型其中,$var為保存數(shù)組的變量,key1、key2、key3等為鍵,可以使用整數(shù)或字符串作為鍵。創(chuàng)建數(shù)組后,可使用print_r()函數(shù)輸出數(shù)組,查看數(shù)組的鍵值,代碼如下。3.變量數(shù)據(jù)類型其中,$var為保存數(shù)組的變量,key1、k3.變量數(shù)據(jù)類型(6)object(對象)類型object變量用于保存類的實例(即對象),代碼舉例如下。(7)NULLNULL表示空值,即沒有值。注意,NULL并不表示0、空格或空字符串。未賦值的變量為NULL。3.變量數(shù)據(jù)類型(6)object(對象)類型(7)NULL4.數(shù)據(jù)類型轉換數(shù)據(jù)類型轉換是指將變量或值轉換為另一種數(shù)據(jù)類型。PHP中數(shù)據(jù)類型轉換可分為自動數(shù)據(jù)類型轉換和強制類型轉換。(1)自動數(shù)據(jù)類型轉換PHP中變量的數(shù)據(jù)類型由存入變量的數(shù)據(jù)來決定,即在存入不同類型數(shù)據(jù)時,變量的數(shù)據(jù)類型就自動發(fā)生轉換?;蛘咴谑褂貌煌愋偷臄?shù)據(jù)進行運算時,所有數(shù)據(jù)自動轉換為一種類型進行運算。4.數(shù)據(jù)類型轉換數(shù)據(jù)類型轉換是指將變量或值轉換為另一種數(shù)據(jù)類4.數(shù)據(jù)類型轉換通常,只有布爾型、字符串型、整型和浮點型數(shù)據(jù)之間可以自動轉換數(shù)據(jù)類型。下面對自動數(shù)據(jù)類型轉換規(guī)則分別進行介紹。

添加文本布爾型值參與運算時,TRUE轉換為1,F(xiàn)ALSE轉換為0。若是轉換為字符串,則TRUE轉換為"1",F(xiàn)ALSE轉換為空字符串。NULL參與運算時,轉換為數(shù)值0。整型值和浮點型值同時參與運算時,整型轉換為浮點型。字符串和數(shù)值(整型值或浮點型值)運算時,字符串轉換為數(shù)值。通常,字符串開頭的數(shù)值部分被轉換。若字符串開頭不包含數(shù)值,則轉換為0。例如,"1234xyz"轉換為1234,"12.34xyz"轉換為12.34,"xyz"轉換為0。4.數(shù)據(jù)類型轉換通常,只有布爾型、字符串型、整型和浮點型數(shù)據(jù)4.數(shù)據(jù)類型轉換(2)強制類型轉換PHP支持3種方式轉換數(shù)據(jù)類型,分別為使用類型名、使用類型取值函數(shù)和設置變量類型轉換,下面分別對3種類型轉換進行介紹。①使用類型名轉換類型其基本格式為在變量或數(shù)據(jù)之前使用括號指定要轉換的目標數(shù)據(jù)類型,如(int)2.345。PHP支持下列類型名數(shù)據(jù)轉換。?(int)、(integer):轉換為整型integer。?(bool)、(boolean):轉換為布爾類型boolean。?(float)、(double)、(real):轉換為浮點型float。?(string):轉換為字符串string。?(array):轉換為數(shù)組array。?(object):轉換為對象object。?(unset):轉換為NULL。4.數(shù)據(jù)類型轉換(2)強制類型轉換PHP支持3種方式轉換數(shù)據(jù)4.數(shù)據(jù)類型轉換②使用類型取值函數(shù)類型取值函數(shù)可以將變量或數(shù)據(jù)轉換為對應類型。下面分別對PHP類型取值函數(shù)進行介紹。intval():轉換為整型,如intval($str)。floatval():轉換為浮點型,如floatval($str)。strval():轉換為字符串型,如strval($x)。4.數(shù)據(jù)類型轉換②使用類型取值函數(shù)intval():轉換為5.變量處理函數(shù)除了前面介紹到的函數(shù)外,PHP還提供了其他函數(shù)用于處理變量,下面分別進行介紹。?is_array():檢測變量是否是數(shù)組。?is_bool():檢測變量是否是布爾型。?is_float()、is_double()、is_real():檢測變量是否是浮點型。?is_int()、is_integer()、is_long():檢測變量是否是整數(shù)。?is_null():檢測變量是否為NULL。?is_numeric():檢測變量是否為數(shù)字或數(shù)字字符串。?is_object():檢測變量是否是一個對象。?is_string():檢測變量是否是字符串。?print_r():輸出變量信息。string、integer或float等簡單類型輸出變量值。?serialize():返回變量的序列化表示的字符串。?unserialize():從序列化字符串中反序列化,獲得序列化之前的變量值(包括其數(shù)據(jù)類型)。?unset():從內存刪除指定的變量。?var_dump():與print_r()類似,但包含了數(shù)據(jù)類型信息。5.變量處理函數(shù)除了前面介紹到的函數(shù)外,PHP還提供了其他函5.變量處理函數(shù)例2.6使用PHP變量,代碼如下。(源代碼:\chapter2\test6.php)5.變量處理函數(shù)例2.6使用PHP變量,代碼如下。(源代碼5.變量處理函數(shù)例2.6使用PHP變量,代碼如下。(源代碼:\chapter2\test6.php)例2.6代碼在IE瀏覽器中的顯示結果如圖2.10所示。5.變量處理函數(shù)例2.6使用PHP變量,代碼如下。(源代碼140相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量PHP變量PHP運算符與表達式PHP程序流程控制49相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP運算符與表達式運算符用于完成某種運算,包含運算符的式子稱表達式。參與運算的數(shù)據(jù)稱操作數(shù)。根據(jù)參與運算的操作數(shù)的個數(shù),在運算過程中還將運算符分為算術運算符、位運算符、賦值運算符、比較運算符、邏輯運算符、錯誤控制運算符等,下面分別進行介紹。1.算術運算符算術運算符用于執(zhí)行算術運算。表2.3列出了PHP的算術運算符。除法運算通常獲得浮點型運算結果。當兩個整數(shù)相除,并且剛好被整除,則獲得整型運算結果。而取模運算的操作數(shù)必須是整數(shù),若操作數(shù)不是整數(shù),則先去掉小數(shù)部分,將其轉換為整數(shù)。余數(shù)符號與第一個操作數(shù)的符號相同。PHP運算符與表達式運算符用于完成某種運算,包含運算符的式子1.算術運算符例2.7使用PHP加法運算,代碼如下。(源代碼:\chapter2\test7.php)1.算術運算符例2.7使用PHP加法運算,代碼如下。(源代1.算術運算符例2.7代碼在IE瀏覽器中的顯示結果如圖所示。1.算術運算符例2.7代碼在IE瀏覽器中的顯示結果如圖所示。2.位運算符位運算符用于按二進制位執(zhí)行運算。表2.4列出了PHP的位運算符。位運算向左移位時,最低位總是補0,最高位移出丟棄,即符號位不保留;向右移位時,最高位(符號位)保持移出之前的值,即不改變符號。如果兩個操作數(shù)都是字符串,則按字符的ASCII碼執(zhí)行位運算。2.位運算符位運算符用于按二進制位執(zhí)行運算。表2.4列出了P2.位運算符例2.8使用PHP位運算,代碼如下。(源代碼:\chapter2\test8.php)2.位運算符例2.8使用PHP位運算,代碼如下。(源代碼:2.位運算符例2.8代碼在IE瀏覽器中的顯示結果如圖所示。2.位運算符例2.8代碼在IE瀏覽器中的顯示結果如圖所示。3.賦值運算符最簡單的賦值運算是使用“=”將一個表達式的值賦值給一個變量。例如:PHP還支持等號與運算符結合的組合賦值運算符,如表2.5所示。3.賦值運算符最簡單的賦值運算是使用“=”將一個表達式的值賦3.賦值運算符點號(.)是字符串連接符號,將兩個字符串連接在一起。賦值運算作為表達式使用時,表達式的值就是所賦的值。例如:3.賦值運算符點號(.)是字符串連接符號,將兩個字符串連接在4.比較運算符比較運算符用于將兩個操作數(shù)做比較,比較結果為布爾值。如果操作數(shù)為數(shù)值,則數(shù)值比較大?。蝗绻僮鲾?shù)是字符串,則按對應字符的ASCII大小進行比較。表2.6列出了PHP的比較運算符。4.比較運算符比較運算符用于將兩個操作數(shù)做比較,比較結果為布5.邏輯運算符邏輯運算符用于兩個布爾型操作數(shù)之間的運算,運算結果為布爾值。表2.7列出了PHP的邏輯運算符。5.邏輯運算符邏輯運算符用于兩個布爾型操作數(shù)之間的運算,運算6.錯誤控制運算符PHP允許在表達式之前使用@符號來屏蔽表達式中的錯誤。例如:表達式9/0表示除數(shù)為0時將顯示出錯。因為使用了@符號,PHP忽略該表達式,不會輸出任何信息。提示:若用set_error_handler()設定了自定義的錯誤處理函數(shù),即使使用了@符號,表達式出錯時仍會調用自定義的錯誤處理函數(shù)進行處理。若php.ini中track_errors設置為on,表達式錯誤信息會存放在變量$php_errormsg中。提示:若“@”符號屏蔽了會導致腳本終止的嚴重錯誤,則PHP腳本可能沒有任何提示信息就消散。所以建議最好不要使用錯誤控制運算符。6.錯誤控制運算符PHP允許在表達式之前使用@符號來屏蔽表達7.執(zhí)行運算符執(zhí)行運算符是指PHP允許使用反引號(`)來執(zhí)行操作命令,并返回命令執(zhí)行結果。例如:該例在PHP代碼中執(zhí)行ping命令測試IP,在IE瀏覽器中的顯示結果如圖所示。7.執(zhí)行運算符執(zhí)行運算符是指PHP允許使用反引號(`)來執(zhí)行8.條件運算符條件運算符類似于if語句,其基本格式為若表達式1的值為TRUE,則返回表達式2的值,否則返回表達式3的值。例如:8.條件運算符條件運算符類似于if語句,其基本格式為9.運算符的優(yōu)先級當表達式中包含多種運算時,將按運算符的優(yōu)先順序進行計算。表2.8按照優(yōu)先級從高到低的順序列出了PHP中的運算符。9.運算符的優(yōu)先級當表達式中包含多種運算時,將按運算符的優(yōu)先9.運算符的優(yōu)先級9.運算符的優(yōu)先級156相關知識項目實現(xiàn)內容導航PHP代碼規(guī)范PHP常量PHP變量PHP運算符與表達式PHP程序流程控制65相

溫馨提示

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

評論

0/150

提交評論