版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、PHP編程基礎(chǔ)與實例教程PHP Fundamentals & Practices,第 3 章 PHP表達式,本章大綱,3-1 常量3-2 變量 3-3 有關(guān)變量或常量狀態(tài)的函數(shù)3-4 PHP運算符3-5 數(shù)據(jù)類型的轉(zhuǎn)換,3-1 常量,1. 自定義常量 define()函數(shù)的語法格式:define(name,value[, boolean case_insensitive])功能:定義一個名字為name,
2、值為value的常量。ase_insensitive參數(shù)的默認值為FALSE,表示常量名name大小寫敏感(區(qū)分大小寫);case_insensitive參數(shù)值如果為TRUE,表示常量名name大小寫不敏感(不區(qū)分大小寫)。說明:常量名name為字符串類型數(shù)據(jù),常量值value必須是標量數(shù)據(jù)類型數(shù)據(jù)。 注意 :常量名前面不加前綴“$”符號 。 常量的作用域是全局的,不存在使用范圍的問題,可以在程序任意位置進行定義和使用常量
3、。 常量一旦被定義,其值不能在程序過程中修改,也不能被銷毀。,3-1 常量,2. 常量的內(nèi)存分配 內(nèi)存中專門為常量的存儲分配了一個空間:常量存儲區(qū)。常量存儲區(qū)是一塊比較特殊的存儲空間,位于該存儲空間的常量是全局的,且在程序運行期間不能修改和銷毀。,例如程序define.php ";echo USER_NAME;//輸出:rootecho "";echo password;//輸出:r
4、oot?>,3-1 常量,2. 預定義常量 PHP還預定義了許多常量,這些常量無需使用define()函數(shù)定義,可直接在程序中使用。1.__FILE__(FILE前后是兩個下劃線):當前正在處理的腳本文件名。 2.__LINE__(LINE前后是兩個下劃線):正在處理的腳本文件的當前行數(shù)。3.PHP_VERSION:當前 PHP預處理器的版本,如'5.3.0'。4.PHP_OS:PHP所在的操作系
5、統(tǒng)的類型,如'Linux'。5.TRUE:表示邏輯真;FALSE常量:表示邏輯假;NULL常量:表示沒有值或值不確定。6.DIRECTORY_SEPARATOR常量:表示目錄分隔符,Unix或Linux操作系統(tǒng)環(huán)境時的值為“/”;Windows操作系統(tǒng)環(huán)境時的值為“\”。,3-2 變量,1. 變量基本概念 變量是用于臨時存儲數(shù)據(jù)的容器,這些數(shù)據(jù)可以是任意一種數(shù)據(jù)類型的數(shù)據(jù)。PHP中的變量名遵循以下規(guī)則:1.
6、變量名必須以美元符號($)開頭,例如:$userName。2.變量名的第一個字符必須是字母或下劃線(不能是數(shù)字),變量名稱可以包含字母、數(shù)字和下劃線的組合。3.PHP中的變量名是區(qū)分大小寫的,這是一個非常重要的規(guī)則。這意味著$userName和$UserName是截然不同的兩個變量。,例如:程序variable.php,3-2 變量,2. 變量的內(nèi)存分配,3-2 變量,3. 變量賦值方式1.傳值賦值方式2.傳地址賦值方式,例
7、如程序byValue.php:";echo $age2;//該語句輸出$age2變量的值為20?>,例如程序byReference.php :";echo $age2;//該語句輸出$age2變量的值為20?>,3-2 變量,4. 可變變量 PHP提供了一種特殊類型的變量:可變變量??勺冏兞吭试SPHP程序動態(tài)地改變一個變量的變量名,可變變量的工作原理是用一個變量的“值”作為另一個變量
8、的“名”。,例如程序variableNameChanged.php :,3-3 有關(guān)變量或常量狀態(tài)的函數(shù),1. 數(shù)據(jù)類型查看函數(shù)1.gettype()函數(shù)語法格式:string gettype ( mixed var )函數(shù)功能:gettype()函數(shù)需要變量名(帶$符號)或常量名作為參數(shù),該函數(shù)返回變量或常量的數(shù)據(jù)類型,這些數(shù)據(jù)類型包括:integer、double、string、array、object、unknown t
9、ype等。2.var_dump()函數(shù)語法格式:void var_dump (mixed var )函數(shù)功能:var_dump()函數(shù)需要傳遞一個變量名(帶$符號)或常量名作為參數(shù),該函數(shù)可以得到變量或常量的數(shù)據(jù)類型以及對應的值,并將這些信息輸出。函數(shù)說明:調(diào)試程序時,經(jīng)常使用var_dump()函數(shù)查看變量或常量的值、數(shù)據(jù)類型等信息。,3-3 有關(guān)變量或常量狀態(tài)的函數(shù),2. 檢查常量或變量是否定義函數(shù)1.defined()
10、函數(shù)語法格式:bool defined ( string name )函數(shù)功能:檢查常量是否經(jīng)過define()函數(shù)定義。該函數(shù)參數(shù)為常量名(注意常量名必須帶雙引號或單引號),如果常量經(jīng)過define()函數(shù)定義,該函數(shù)返回布爾值TRUE,否則返回FALSE。2.isset()函數(shù)語法格式:bool isset ( mixed var )函數(shù)功能:檢查變量var是否定義。該函數(shù)參數(shù)為變量名(帶$號),如果變量已經(jīng)定義,該函數(shù)返
11、回布爾值TRUE,否則返回FALSE。,3-3 有關(guān)變量或常量狀態(tài)的函數(shù),3. 取消變量定義unset()函數(shù) unset()函數(shù)語法格式:void unset ( mixed var )函數(shù)功能:取消變量var的定義。該函數(shù)的參數(shù)為變量名(帶$符號),函數(shù)沒有返回值。,3-3 有關(guān)變量或常量狀態(tài)的函數(shù),4. 檢查變量是否為“空” 1.empty()函數(shù)語法格式:boolean empty ( mixed var )
12、函數(shù)功能:用于檢查變量var是否為“空”,該函數(shù)參數(shù)var為變量名(帶$號)。如果變量var為空,則empty()函數(shù)返回TRUE,否則返回FALSE。 注意:使用empty()函數(shù)時,變量為“空”的意義為:若變量var的值為“”、0、“0”、0.0、NULL、FALSE或array(),都將視為空。 empty() 函數(shù)只用于檢測變量是否為“空”,傳遞其它參數(shù)都將造成程序解析錯誤。,3-3 有關(guān)變量或常量狀態(tài)的函數(shù),4. 檢查變量
13、是否為“空” 2.is_null()函數(shù)語法格式:boolean is_ null( mixed var )函數(shù)功能:檢查變量var是否為NULL,如果值為NULL則返回 TRUE,否則返回 FALSE。函數(shù)說明:is_null()函數(shù)在用于判斷變量是否為NULL時,可以看做是isset()函數(shù)的反函數(shù)。下面的三種情況變量的值為NULL。(1).變量未經(jīng)定義;(2).變量的值賦值為NULL;(3).變量經(jīng)unset()函
14、數(shù)處理后;,3-3 有關(guān)變量或常量狀態(tài)的函數(shù),5. 數(shù)據(jù)類型檢查函數(shù),3-4 PHP運算符,1. 算術(shù)運算符,3-4 PHP運算符,2. 遞增/遞減運算符,3-4 PHP運算符,3. 賦值運算符 賦值運算符“=”是將“=”右邊表達式的值賦給左邊的變量。賦值運算符產(chǎn)生的表達式為賦值表達式,該表達式的值為“=”左邊的變量值。PHP還提供適合于所有二元算術(shù)養(yǎng)生法和字符串運算符的“組和運算符”:+=,-=, *=, /=, %=, .=
15、等。這樣可以在一個表達式中使用一個值(如$y)并把表達式的結(jié)果賦給它。,3-4 PHP運算符,4. 比較運算符,3-4 PHP運算符,5. 邏輯運算符,3-4 PHP運算符,6. 字符串連接運算符 字符串連接運算符只有一個點運算符“.”,使用“.”運算符可以將兩個字符串連接成一個字符串。,3-4 PHP運算符,7. 錯誤抑制運算符 當PHP表達式產(chǎn)生錯誤而又不想將錯誤顯示在頁面上時,可以使用錯誤抑制運算符“@”。將“@”
16、運算符放置在PHP表達式之前,該表達式產(chǎn)生的任何錯誤信息將不會輸出。這樣做有兩個好處:1.安全:避免錯誤信息外露,造成系統(tǒng)漏洞。2.美觀:避免瀏覽器頁面出現(xiàn)錯誤信息,影響頁面美觀。,3-4 PHP運算符,8. 條件運算符 條件運算符的語法格式為:表達式1?表達式2:表達式3由條件運算符組成的表達式稱為條件表達式,條件表達式的執(zhí)行過程為:如果表達式1 的值為TRUE,則整個條件表達式的值為表達式2的值;如果表達式1
17、 的值為FALSE,則整個條件表達式的值為表達式3的值。條件運算符中有三個操作數(shù),因此條件運算符為三目運算符。,3-4 PHP運算符,9. 類型運算符 PHP 5提供了類型運算符instanceof,該運算符用于判斷一個對象是否是某個類的對象。,3-4 PHP運算符,10. 執(zhí)行運算符 執(zhí)行運算符使用反引號(`)(注意這不是單引號!一般是鍵盤上ESC下面的按鍵)。執(zhí)行運算符將嘗試將反引號中的字符串內(nèi)容作為操作
18、系統(tǒng)系統(tǒng)命令來執(zhí)行(例如:linux的shell命令或Windows的DOS命令),并返回該系統(tǒng)命令的執(zhí)行結(jié)果。,3-4 PHP運算符,11. 位運算符,3-4 PHP運算符,12. 運算符優(yōu)先級,3-5 數(shù)據(jù)類型的轉(zhuǎn)換,1. 類型自動轉(zhuǎn)換 類型自動轉(zhuǎn)換是指:在定義變量或常量時,不需要指定變量或常量的數(shù)據(jù)類型,由PHP預處理器根據(jù)具體應用環(huán)境,將變量或常量轉(zhuǎn)換為合適的數(shù)據(jù)類型。類型自動轉(zhuǎn)換基本規(guī)則如下:1.布爾型數(shù)據(jù)參與算術(shù)
19、運算時,TRUE被轉(zhuǎn)換為整數(shù)1,F(xiàn)ALSE被轉(zhuǎn)換為整數(shù)0;NULL參與算術(shù)運算時,被轉(zhuǎn)換為整數(shù)0。2.浮點數(shù)與整數(shù)進行算術(shù)運算時,將整數(shù)轉(zhuǎn)換為浮點數(shù)后,再進行算術(shù)運算。,3-5 數(shù)據(jù)類型的轉(zhuǎn)換,1. 類型自動轉(zhuǎn)換3.參與算術(shù)運算的字符串,只有以數(shù)字開頭的字符串才會被認作數(shù)字。字符串開頭部分符合整數(shù)格式時,字符串將被轉(zhuǎn)換為整數(shù),例如在執(zhí)行算術(shù)運算時字符串”3rd degree” 將被轉(zhuǎn)換為整數(shù)3;字符串開頭部分符合浮點數(shù)格式時(字符
20、串開頭中可以包含'.'、 'e'或'E'字符),字符串會被轉(zhuǎn)換為浮點數(shù),例如在執(zhí)行算術(shù)運算時字符串”3.5”、”-4.01”、”4.2e6”、”-4.1 degree”分別被轉(zhuǎn)換為浮點數(shù):3.5、-4.01、4200000、-4.1。如果字符串不是以數(shù)字開頭,將被轉(zhuǎn)換整數(shù)0,例如在執(zhí)行算術(shù)運算時,字符串”Catch 22”將被轉(zhuǎn)換為數(shù)整數(shù)0。,3-5 數(shù)據(jù)類型的轉(zhuǎn)換,1. 類型自動轉(zhuǎn)換
21、4.在進行字符串連接運算時,整數(shù)、浮點數(shù)將被轉(zhuǎn)換為字符串類型數(shù)據(jù)。例如12、12.3 轉(zhuǎn)換為字符串后為:"12"、"12.3"。布爾型TRUE將被轉(zhuǎn)換成字符串"1",布爾型FALSE和NULL將被轉(zhuǎn)換成空字符串""。這就解釋了為何語句“echo TRUE;”打印到頁面上為1,而語句“echo FALSE;”打印到頁面上為空字符串。5.在進行邏輯運算時,空字
22、符串""、字符串"0"、整數(shù)0、浮點數(shù)0.0、NULL以及空數(shù)組將被轉(zhuǎn)換為布爾型為FALSE;其它數(shù)據(jù)將被轉(zhuǎn)換為布爾型TRUE(注意字符串"0.0"將被轉(zhuǎn)換為布爾型TRUE)。,3-5 數(shù)據(jù)類型的轉(zhuǎn)換,1. 強制類型轉(zhuǎn)換 強制類型轉(zhuǎn)換允許程序員手動將變量的數(shù)據(jù)類型轉(zhuǎn)換成為指定的數(shù)據(jù)類型。PHP提供了三種強制類型轉(zhuǎn)換方法:1.在要類型轉(zhuǎn)換的變量或常量之前加上用括號括起來
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- word基礎(chǔ)實例教程
- c++基礎(chǔ)實例教程
- 《flash8基礎(chǔ)與實例教程》
- flash8.0--基礎(chǔ)與實例教程
- 中文illustrator基礎(chǔ)與實例教程電子教案
- tekla實例教程
- ida實例教程
- pyrosim實例教程
- 《dreamweaver 8基礎(chǔ)與實例教程》第12章
- photoshop實例教程(ps教程實例)給長
- ug鈑金件實例教程
- photoshop實例教程照片漫畫插畫效果的制作-photoshop實例教程
- matlab 簡明實例教程
- kisssys入門實例教程
- flash實例教程100例
- 曲面擬合實例教程總結(jié)
- html100實例教程
- flash實例教程100例
- 拖拖我的家 實例教程
- vb6.0圖文實例教程
評論
0/150
提交評論