動(dòng)態(tài)網(wǎng)站開發(fā)第二版課件3_第1頁(yè)
動(dòng)態(tài)網(wǎng)站開發(fā)第二版課件3_第2頁(yè)
動(dòng)態(tài)網(wǎng)站開發(fā)第二版課件3_第3頁(yè)
動(dòng)態(tài)網(wǎng)站開發(fā)第二版課件3_第4頁(yè)
動(dòng)態(tài)網(wǎng)站開發(fā)第二版課件3_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

動(dòng)態(tài)網(wǎng)站開發(fā)

WEBFundamentals&Practices第3章PHP表達(dá)式

主講:孔祥盛

本章大綱3-1常量3-2變量3-3有關(guān)變量或常量狀態(tài)的函數(shù)3-4PHP運(yùn)算符3-5數(shù)據(jù)類型的轉(zhuǎn)換

3-1常量1.

自定義常量define()函數(shù)的語(yǔ)法格式:define(name,value[,booleancase_insensitive])功能:定義一個(gè)名字為name,值為value的常量。ase_insensitive參數(shù)的默認(rèn)值為FALSE,表示常量名name大小寫敏感(區(qū)分大小寫);case_insensitive參數(shù)值如果為TRUE,表示常量名name大小寫不敏感(不區(qū)分大小寫)。說(shuō)明:常量名name為字符串類型數(shù)據(jù),常量值value必須是標(biāo)量數(shù)據(jù)類型數(shù)據(jù)。注意:常量名前面不加前綴“$”符號(hào)。 常量的作用域是全局的,不存在使用范圍的問(wèn)題,可以在程序任意位置進(jìn)行定義和使用常量。 常量一旦被定義,其值不能在程序過(guò)程中修改,也不能被銷毀。3-1常量

2.常量的內(nèi)存分配

內(nèi)存中專門為常量的存儲(chǔ)分配了一個(gè)空間:常量存儲(chǔ)區(qū)。常量存儲(chǔ)區(qū)是一塊比較特殊的存儲(chǔ)空間,位于該存儲(chǔ)空間的常量是全局的,且在程序運(yùn)行期間不能修改和銷毀。例如程序define.php<?php//定義DATABASE常量,此時(shí)DATABASE常量名大小寫敏感define("DATABASE","student");//定義USER_NAME常量,此時(shí)USER_NAME大小寫敏感define("USER_NAME","root",FALSE);//定義PASSWORD常量,此時(shí)PASSWORD大小寫不敏感define("PASSWORD","root",TRUE);echoDATABASE;//輸出:studentecho"<br/>";echoUSER_NAME;//輸出:rootecho"<br/>";echopassword;//輸出:root?>3-1常量

2.預(yù)定義常量

PHP還預(yù)定義了許多常量,這些常量無(wú)需使用define()函數(shù)定義,可直接在程序中使用。1.__FILE__(FILE前后是兩個(gè)下劃線):當(dāng)前正在處理的腳本文件名。2.__LINE__(LINE前后是兩個(gè)下劃線):正在處理的腳本文件的當(dāng)前行數(shù)。3.PHP_VERSION:當(dāng)前PHP預(yù)處理器的版本,如'5.3.0'。4.PHP_OS:PHP所在的操作系統(tǒng)的類型,如'Linux'。5.TRUE:表示邏輯真;FALSE常量:表示邏輯假;NULL常量:表示沒有值或值不確定。6.DIRECTORY_SEPARATOR常量:表示目錄分隔符,Unix或Linux操作系統(tǒng)環(huán)境時(shí)的值為“/”;Windows操作系統(tǒng)環(huán)境時(shí)的值為“\”。3-2

變量1.

變量基本概念變量是用于臨時(shí)存儲(chǔ)數(shù)據(jù)的容器,這些數(shù)據(jù)可以是任意一種數(shù)據(jù)類型的數(shù)據(jù)。PHP中的變量名遵循以下規(guī)則:1.變量名必須以美元符號(hào)($)開頭,例如:$userName。2.變量名的第一個(gè)字符必須是字母或下劃線(不能是數(shù)字),變量名稱可以包含字母、數(shù)字和下劃線的組合。3.PHP中的變量名是區(qū)分大小寫的,這是一個(gè)非常重要的規(guī)則。這意味著$userName和$UserName是截然不同的兩個(gè)變量。例如:程序variable.php<?php//以下語(yǔ)句修改$userName變量的值$userName="張三";$userName="李四";//以下語(yǔ)句既修改$sex變量的值,又修改了$sex變量的數(shù)據(jù)類型$sex=FALSE;$sex="男";?>3-2變量2.變量的內(nèi)存分配3-2變量3.

變量賦值方式1.傳值賦值方式2.傳地址賦值方式例如程序byValue.php:<?php$age1=18;//以下語(yǔ)句進(jìn)行傳值賦值,變量$age1的值18賦值給變量$age2$age2=$age1;//以下語(yǔ)句修改變量$age2的值,此時(shí)變量$age2在內(nèi)存中開辟新的空間存儲(chǔ)值20$age2=20;echo$age1;//該語(yǔ)句輸出$age1變量的值為18echo"<br/>";echo$age2;//該語(yǔ)句輸出$age2變量的值為20?>例如程序byReference.php:<?php$age1=18;//以下語(yǔ)句進(jìn)行傳值賦值,變量$age1的值18賦值給變量$age2$age2=&$age1;//以下語(yǔ)句修改變量$age2的值,此時(shí)變量$age2在內(nèi)存中開辟新的空間存儲(chǔ)值20$age2=20;echo$age1;//該語(yǔ)句輸出$age1變量的值為20echo"<br/>";echo$age2;//該語(yǔ)句輸出$age2變量的值為20?>3-2變量4.

可變變量PHP提供了一種特殊類型的變量:可變變量。可變變量允許PHP程序動(dòng)態(tài)地改變一個(gè)變量的變量名,可變變量的工作原理是用一個(gè)變量的“值”作為另一個(gè)變量的“名”。例如程序variableNameChanged.php:<?php$varname="age";//用$$varname取代$age。下面的代碼等價(jià)于:$age=20;$$varname=20;echo$age;//輸出$age變量的值:20?>3-3有關(guān)變量或常量狀態(tài)的函數(shù)1.

數(shù)據(jù)類型查看函數(shù)1.gettype()函數(shù)語(yǔ)法格式:stringgettype(mixedvar)函數(shù)功能:gettype()函數(shù)需要變量名(帶$符號(hào))或常量名作為參數(shù),該函數(shù)返回變量或常量的數(shù)據(jù)類型,這些數(shù)據(jù)類型包括:integer、double、string、array、object、unknowntype等。2.var_dump()函數(shù)語(yǔ)法格式:voidvar_dump(mixedvar)函數(shù)功能:var_dump()函數(shù)需要傳遞一個(gè)變量名(帶$符號(hào))或常量名作為參數(shù),該函數(shù)可以得到變量或常量的數(shù)據(jù)類型以及對(duì)應(yīng)的值,并將這些信息輸出。函數(shù)說(shuō)明:調(diào)試程序時(shí),經(jīng)常使用var_dump()函數(shù)查看變量或常量的值、數(shù)據(jù)類型等信息。3-3有關(guān)變量或常量狀態(tài)的函數(shù)2.

檢查常量或變量是否定義函數(shù)1.defined()函數(shù)語(yǔ)法格式:booldefined(stringname)函數(shù)功能:檢查常量是否經(jīng)過(guò)define()函數(shù)定義。該函數(shù)參數(shù)為常量名(注意常量名必須帶雙引號(hào)或單引號(hào)),如果常量經(jīng)過(guò)define()函數(shù)定義,該函數(shù)返回布爾值TRUE,否則返回FALSE。2.isset()函數(shù)語(yǔ)法格式:boolisset(mixedvar)函數(shù)功能:檢查變量var是否定義。該函數(shù)參數(shù)為變量名(帶$號(hào)),如果變量已經(jīng)定義,該函數(shù)返回布爾值TRUE,否則返回FALSE。3-3有關(guān)變量或常量狀態(tài)的函數(shù)3.

取消變量定義unset()函數(shù)

unset()函數(shù)語(yǔ)法格式:voidunset(mixedvar)函數(shù)功能:取消變量var的定義。該函數(shù)的參數(shù)為變量名(帶$符號(hào)),函數(shù)沒有返回值。3-3有關(guān)變量或常量狀態(tài)的函數(shù)4.檢查變量是否為“空”1.is_null()函數(shù)語(yǔ)法格式:booleanis_null(mixedvar)函數(shù)功能:檢查變量var是否為NULL,如果值為NULL則返回TRUE,否則返回FALSE。函數(shù)說(shuō)明:is_null()函數(shù)在用于判斷變量是否為NULL時(shí),可以看做是isset()函數(shù)的反函數(shù)。下面的三種情況變量的值為NULL。(1)變量未經(jīng)定義;(2)變量的值賦值為NULL;(3)變量經(jīng)unset()函數(shù)處理后;3-3有關(guān)變量或常量狀態(tài)的函數(shù)4.檢查變量是否為“空”2.empty()函數(shù)語(yǔ)法格式:booleanempty(mixedvar)函數(shù)功能:用于檢查變量var是否為“空”,該函數(shù)參數(shù)var為變量名(帶$號(hào))。如果變量var為空,則empty()函數(shù)返回TRUE,否則返回FALSE。注意:使用empty()函數(shù)時(shí),變量為“空”的意義為:若變量var的值為空字符串""、整數(shù)0、字符串零"0"、浮點(diǎn)數(shù)0.0、NULL、變量未被定義、FALSE或空數(shù)組array(),都將視為“空”。empty()函數(shù)只用于檢測(cè)變量是否為“空”,傳遞其他參數(shù)都將造成程序解析錯(cuò)誤。3-3有關(guān)變量或常量狀態(tài)的函數(shù)5.

數(shù)據(jù)類型檢查函數(shù)函數(shù)名功能語(yǔ)法格式is_bool檢測(cè)變量或常量是否是布爾型boolis_bool(mixedvar)is_string檢測(cè)變量或常量是否是字符串boolis_string(mixedvar)is_intis_integeris_long檢測(cè)變量或常量是否是整數(shù)boolis_int(mixedvar)is_doubleis_floatis_real檢測(cè)變量或常量是否是浮點(diǎn)型boolis_float(mixedvar)is_numeric檢測(cè)變量或常量是否為數(shù)字或數(shù)字字符串boolis_numeric(mixedvar)

is_scalar檢測(cè)變量或常量是否是標(biāo)量數(shù)據(jù)類型boolis_scalar(mixedvar)is_array檢測(cè)變量是否是數(shù)組boolis_array(mixedvar)is_object檢測(cè)變量是否是一個(gè)對(duì)象boolis_object(mixedvar)is_resource檢測(cè)變量是否為資源類型boolis_resource(mixedvar)3-4PHP運(yùn)算符1.算術(shù)運(yùn)算符運(yùn)算符名稱用法結(jié)果取反-$a$a的負(fù)值。加法$a+$b$a和

$b的和。減法$a-$b$a和

$b的差。乘法$a*$b$a和

$b的積。除法$a/$b$a除以

$b的商。取余$a%$b$a除以

$b的余數(shù)。3-4PHP運(yùn)算符2.遞增/遞減運(yùn)算符運(yùn)算符名稱用法運(yùn)行過(guò)程前加++$a$a的值加一,然后返回$a。后加$a++返回$a,然后將$a的值加一。前減--$a$a的值減一,然后返回

$a。后減$a--返回$a,然后將$a的值減一。3-4PHP運(yùn)算符3.賦值運(yùn)算符賦值運(yùn)算符“=”是將“=”右邊表達(dá)式的值賦給左邊的變量。賦值運(yùn)算符產(chǎn)生的表達(dá)式為賦值表達(dá)式,該表達(dá)式的值為“=”左邊的變量值。PHP還提供適合于所有二元算術(shù)養(yǎng)生法和字符串運(yùn)算符的“組和運(yùn)算符”:+=,-=,*=,/=,%=,.=等。這樣可以在一個(gè)表達(dá)式中使用一個(gè)值(如$y)并把表達(dá)式的結(jié)果賦給它。PHP組合運(yùn)算符等價(jià)格式$x+=$y$x=$x+$y$x-=$y$x=$x-$y$x*=$y$x=$x*$y$x/=$y$x=$x/$y$x%=$y$x=$x%$y$x.=$y$x=$x.$y........3-4PHP運(yùn)算符4.比較運(yùn)算符運(yùn)算符名稱用法比較結(jié)果等于$a==$b(注意是兩個(gè)等號(hào))如果$a與$b的值相等,結(jié)果為TRUE;否則為FALSE。全等$a===$b(注意是三個(gè)等號(hào))如果$a與$b的值相等,且它們的類型也相同,結(jié)果為TRUE;否則為FALSE。不等$a!=$b如果$a與$b的值不相等,結(jié)果為TRUE;否則為FALSE。$a<>$b非全等$a!==$b(注意是兩個(gè)等號(hào))如果$a與$b的值不相等,或者它們的數(shù)據(jù)類型不同,結(jié)果為TRUE;否則為FALSE。小與$a<$b如果

$a的值小于

$b的值,結(jié)果為TRUE;否則為FALSE。大于$a>$b如果

$a的值大于

$b的值,結(jié)果為TRUE;否則為FALSE。小于等于$a<=$b如果

$a的值小于等于

$b的值,結(jié)果為TRUE;否則為FALSE。大于等于$a>=$b如果

$a的值大于

等于$b的值,結(jié)果為TRUE;否則為FALSE。3-4PHP運(yùn)算符5.邏輯運(yùn)算符運(yùn)算符名稱用法結(jié)果邏輯與$a&&$b如果$a與$b的值都為TRUE,結(jié)果為TRUE;否則為FALSE$aand$b邏輯或$a||$b如果$a與$b的值有一個(gè)為TRUE,結(jié)果為TRUE;否則為FALSE$aor$b邏輯非!$a如果$a的值為TRUE,結(jié)果為FALSE;否則為TRUE邏輯異或$axor$b如果$a與$b的值中只有一個(gè)值為TRUE,結(jié)果為TRUE;否則為FALSE3-4PHP運(yùn)算符6.字符串連接運(yùn)算符字符串連接運(yùn)算符只有一個(gè)點(diǎn)運(yùn)算符“.”,使用“.”運(yùn)算符可以將兩個(gè)字符串連接成一個(gè)字符串。3-4PHP運(yùn)算符7.錯(cuò)誤抑制運(yùn)算符當(dāng)PHP表達(dá)式產(chǎn)生錯(cuò)誤而又不想將錯(cuò)誤顯示在頁(yè)面上時(shí),可以使用錯(cuò)誤抑制運(yùn)算符“@”。將“@”運(yùn)算符放置在PHP表達(dá)式之前,該表達(dá)式產(chǎn)生的任何錯(cuò)誤信息將不會(huì)輸出。這樣做有兩個(gè)好處:1.安全:避免錯(cuò)誤信息外露,造成系統(tǒng)漏洞。2.美觀:避免瀏覽器頁(yè)面出現(xiàn)錯(cuò)誤信息,影響頁(yè)面美觀。3-4PHP運(yùn)算符8.條件運(yùn)算符條件運(yùn)算符的語(yǔ)法格式為:表達(dá)式1?表達(dá)式2:表達(dá)式3由條件運(yùn)算符組成的表達(dá)式稱為條件表達(dá)式,條件表達(dá)式的執(zhí)行過(guò)程為:如果表達(dá)式1

的值為TRUE,則整個(gè)條件表達(dá)式的值為表達(dá)式2的值;如果表達(dá)式1

的值為FALSE,則整個(gè)條件表達(dá)式的值為表達(dá)式3的值。條件運(yùn)算符中有三個(gè)操作數(shù),因此條件運(yùn)算符為三目運(yùn)算符。

3-4PHP運(yùn)算符9.類型運(yùn)算符PHP5提供了類型運(yùn)算符instanceof,該運(yùn)算符用于判斷一個(gè)對(duì)象是否是某個(gè)類的對(duì)象。

3-4PHP運(yùn)算符10.執(zhí)行運(yùn)算符執(zhí)行運(yùn)算符使用反引號(hào)(`)(注意這不是單引號(hào)!一般是鍵盤上ESC下面的按鍵)。執(zhí)行運(yùn)算符將嘗試將反引號(hào)中的字符串內(nèi)容作為操作系統(tǒng)系統(tǒng)命令來(lái)執(zhí)行(例如:linux的shell命令或Windows的DOS命令),并返回該系統(tǒng)命令的執(zhí)行結(jié)果。3-4PHP運(yùn)算符11.位運(yùn)算符運(yùn)算符名稱用法結(jié)果與操作符:&$a&$b$a與$b位值都為1時(shí),結(jié)果為1;否則為0。或操作符:|$a|$b$a與$b位值都為0時(shí),結(jié)果為0;否則為1。異或操作符:^$a^$b$a與$b位值中只有一個(gè)為1時(shí),結(jié)果為1;否則為0非操作符:~~$a$a中為0的位,結(jié)果為1;$a中為1的位,結(jié)果為0。右移操作符:>>$a>>$b$a中的位向左移動(dòng)$b次(每一次移動(dòng)都表示$a乘以2)左移操作符:<<$a<<$b$a中的位向右移動(dòng)$b次(每一次移動(dòng)都表示$a除以2)3-4PHP運(yùn)算符12.運(yùn)算符優(yōu)先級(jí)

由高優(yōu)先級(jí)到低優(yōu)先級(jí)運(yùn)算符()!,~,++,--*,/,%+,-,.<<,>><,<=,>,>===,!=,===,!==&^,|&&,||?:=,+=,-=,*=,/=,%=,.=and,xor,or3-5數(shù)據(jù)類型的轉(zhuǎn)換1.類型自動(dòng)轉(zhuǎn)換類型自動(dòng)轉(zhuǎn)換是指:在定義變量或常量時(shí),不需要指定變量或常量的數(shù)據(jù)類型,由PHP預(yù)處理器根據(jù)具體應(yīng)用環(huán)境,將變量或常量轉(zhuǎn)換為合適的數(shù)據(jù)類型。類型自動(dòng)轉(zhuǎn)換基本規(guī)則如下:1.布爾型數(shù)據(jù)參與算術(shù)運(yùn)算時(shí),TRUE被轉(zhuǎn)換為整數(shù)1,F(xiàn)ALSE被轉(zhuǎn)換為整數(shù)0;NULL參與算術(shù)運(yùn)算時(shí),被轉(zhuǎn)換為整數(shù)0。2.浮點(diǎn)數(shù)與整數(shù)進(jìn)行算術(shù)運(yùn)算時(shí),將整數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)后,再進(jìn)行算術(shù)運(yùn)算。3-5數(shù)據(jù)類型的轉(zhuǎn)換1.類型自動(dòng)轉(zhuǎn)換3.參與算術(shù)運(yùn)算的字符串,只有以數(shù)字開頭的字符串才會(huì)被認(rèn)作數(shù)字。字符串開頭部分符合整數(shù)格式時(shí),字符

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論