版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第6章 PHP中的運(yùn)算符與表達(dá)式,【例6-1】算術(shù)運(yùn)算符,算術(shù)運(yùn)算符就是基本數(shù)學(xué), 如表6-1所示。 注意: (1)除號(hào)(“/”)總是返回浮點(diǎn)數(shù),即使兩個(gè)運(yùn)算數(shù)是整數(shù)(或由字符串轉(zhuǎn)換成的整數(shù))也是這樣。 (2)取模 $a % $b 在 $a 為負(fù)值時(shí)的結(jié)果也是負(fù)值。,【例6-2】賦值運(yùn)算符,基本的賦值運(yùn)算符是“=”,但可不要理解為是“等于”符號(hào),在 PHP 語(yǔ)言中,“=”表示賦值,“=”才表示等于。由賦值運(yùn)算符、賦值變量名以及值三個(gè)元素構(gòu)成了賦值表達(dá)式。如$a=3,即為一個(gè)最簡(jiǎn)單的賦值表達(dá)式,它實(shí)現(xiàn)的功能是將“=”右邊的值3賦給左邊的變量$a。 賦值表達(dá)式的運(yùn)算順序是從右到左的。,【例6-3】
2、位運(yùn)算符,位運(yùn)算符允許對(duì)整型數(shù)中指定的位進(jìn)行置位。如果左右參數(shù)都是字符串,則位運(yùn)算符將操作字符的ASCII值,如表6-3所示。,【例6-4】比較運(yùn)算符,比較運(yùn)算符用來比較表達(dá)式的值。比較操作符表達(dá)式根據(jù)比較的結(jié)果返回邏輯值:true或false,顯示在網(wǎng)頁(yè)上true為1,false則為什么都沒有。 各比較運(yùn)算符如表6-4所示。,【例6-5】錯(cuò)誤控制運(yùn)算符,PHP 支持一個(gè)錯(cuò)誤控制運(yùn)算符:。當(dāng)將其放置在一個(gè) PHP 表達(dá)式之前,該表達(dá)式可能產(chǎn)生的任何錯(cuò)誤信息都被忽略掉。 如果激活了track_errors特性,表達(dá)式所產(chǎn)生的任何錯(cuò)誤信息都被存放在變量$php_errormsg 中。 注意:運(yùn)算符
3、只對(duì)表達(dá)式有效。對(duì)新手來說一個(gè)簡(jiǎn)單的規(guī)則就是:如果你能從某處得到值,你就能在它前面加上運(yùn)算符。例如,可以把它放在變量、函數(shù)和include()調(diào)用、常量等之前。不能把它放在函數(shù)或類的定義之前,也不能用于條件結(jié)構(gòu)例如if和foreach等。,【例6-6】執(zhí)行運(yùn)算符,在PHP中對(duì)Windows的命令進(jìn)行執(zhí)行,依靠執(zhí)行運(yùn)算符(),即反引號(hào)()。注意這不是單引號(hào),通常,它與位于鍵盤的相同位置!PHP嘗試將反引號(hào)中的內(nèi)容作為服務(wù)器端命令來執(zhí)行,并將其輸出信息返回(例如,可以賦給一個(gè)變量而不是簡(jiǎn)單地丟棄到標(biāo)準(zhǔn)輸出)。表達(dá)式的值就是命令的執(zhí)行結(jié)果。使用反引號(hào)運(yùn)算符()的效果與函數(shù)shell_exec()相同
4、。 反引號(hào)運(yùn)算符在激活了安全模式或者關(guān)閉了shell_exec()時(shí)是無(wú)效的。,【例6-7】遞增/遞減運(yùn)算符,當(dāng)我們要將變量$a加1時(shí),可以寫為$a=$a+1;這樣的代碼雖然沒有錯(cuò),但總是將相同的變量重復(fù)多次,表達(dá)式就會(huì)變得冗長(zhǎng)。如何縮短表達(dá)式呢? 采用遞增或者遞減運(yùn)算符,可以減少表達(dá)式的冗長(zhǎng)。遞增運(yùn)算符為+,遞減運(yùn)算符為-,統(tǒng)稱為一元運(yùn)算符。在使用一元運(yùn)算符時(shí),變量值增加,并且增加后所得到的值又返回來賦給這個(gè)變量。 無(wú)論是遞增運(yùn)算符還是遞減運(yùn)算符,都有兩種情況:一種情況是變量在前,運(yùn)算符在后;另一種情況是運(yùn)算符在前,變量在后。兩種情況的區(qū)別如表6-5所示。,【例6-8】邏輯運(yùn)算符,邏輯運(yùn)算符
5、用來組合邏輯條件的結(jié)果。PHP支持邏輯與、邏輯或、邏輯異或以及邏輯非的運(yùn)算,具體如表6-6所示。,【例6-9】字符串運(yùn)算符,在前面的實(shí)例中已經(jīng)多次運(yùn)用到了字符串連接運(yùn)算符“.”,同時(shí)在組合賦值運(yùn)算符中也講到了“.”運(yùn)算符。 PHP中共有兩個(gè)字符串運(yùn)算符:第1個(gè)是連接運(yùn)算符(.),它返回其左右參數(shù)連接后的字符串;第2個(gè)是連接賦值運(yùn)算符(.=),它將右邊參數(shù)附加到左邊的參數(shù)后。“$a.$b”等價(jià)于“$a=$a.$b”。 注意:與其他很多編程語(yǔ)言不同,PHP不會(huì)將“+”運(yùn)算符識(shí)別為字符串連接符,若“+”兩邊連接的是字符串,則會(huì)自動(dòng)將字符串轉(zhuǎn)化為數(shù)值,如將字符串“5sunny”轉(zhuǎn)化為數(shù)值5;若字符串的
6、開頭為非數(shù)值字符,則將字符串轉(zhuǎn)化為數(shù)值0,如將“ hello!”轉(zhuǎn)化為數(shù)值0。,【例6-10】數(shù)組運(yùn)算符,PHP提供了一些數(shù)組操作符,可以用array來定義數(shù)組,也可以用數(shù)組元素操作符()訪問數(shù)組元素,還可以用=操作符對(duì)數(shù)組元素進(jìn)行訪問。PHP數(shù)組操作符如表6-7所示。 需要注意的是: (1)“+ ”運(yùn)算符把右邊的數(shù)組附加到左邊的數(shù)組后面,但是重復(fù)的鍵值不會(huì)被覆蓋。 鍵值默認(rèn)為“0”、“1”、。例如數(shù)組$a、$b的鍵值及對(duì)應(yīng)的元素為: $a=array(pear,apple,banana); 即“0”=“pear”,“1”=“apple”,“2”=“banana”。 $b=array(appl
7、e,pear,banana); 即“0”=“apple”,“1”=“pear”,“2”=“banana”。,【例6-10】數(shù)組運(yùn)算符,若$a+$b,因?yàn)?a擁有三個(gè)鍵“0”、“1”、“2”,$b也擁有三個(gè)相同的鍵“0”、“1”、“2”,那么$a+$b的結(jié)果值為$a的值。若$b擁有一個(gè)不同于$a所有的鍵盤“a”=“HAPPY”,那么$a+$b的結(jié)果值為$a的所有元素加上“HAPPY”。轉(zhuǎn)換為代碼如下: $a=array(pear,apple,banana); $b=array(apple,pear,banana,a=HAPPY); 則: $a+$b=array(pear,apple,banana
8、,HAPPY);,【例6-10】數(shù)組運(yùn)算符,(2)注意“= =”與“= = =”兩個(gè)符號(hào)的區(qū)別,“= =”是等價(jià),當(dāng)比較的兩個(gè)數(shù)組具有相同的鍵/值對(duì)則為 TRUE;“= = =”是全等,當(dāng)比較的兩個(gè)數(shù)組具有相同的鍵/值對(duì)并且順序和類型都相同則為 TRUE。本例中的$a與$b的比較如下: $a=array(pear,apple,banana); $b=array(apple,pear,banana); 本例中,相應(yīng)的鍵值對(duì)應(yīng)如下: $a中“0”=“pear”,“1”=“apple”,“2”=“banana”。 $b中“0”=“apple”,“1”=“pear”,“2”=“banana”。,【例6
9、-11】類型運(yùn)算符,PHP 只有一個(gè)類型運(yùn)算符,即instanceof,該操作符主要用來測(cè)定一個(gè)給定的對(duì)象的父對(duì)象或它們所實(shí)現(xiàn)的接口是否來自指定的對(duì)象類。 instanceof 運(yùn)算符是 PHP 5 引進(jìn)的,在此之前用 is_a(),但是 is_a() 已經(jīng)過時(shí)了,最好用 instanceof。 本例中定義了一個(gè)person類,類中包括3個(gè)屬性:$name、$age、$sex;同時(shí)還對(duì)person類創(chuàng)建一個(gè)具體的實(shí)例myperson。 在后面語(yǔ)句中利用instanceof判斷myperson是否是person類的實(shí)例時(shí),答案當(dāng)然是肯定的。 而判斷myperson1是否是person類的實(shí)例的結(jié)
10、果,很顯示是一個(gè)假值,因?yàn)樵谏厦娴恼Z(yǔ)句中并沒有將myperson1指定為是person類的實(shí)例。,【例6-12】運(yùn)算符的優(yōu)先級(jí),PHP中有上述多種運(yùn)算符,那么在多個(gè)運(yùn)算符一起出現(xiàn)時(shí),哪些應(yīng)該先運(yùn)行,哪些應(yīng)該后運(yùn)行呢?表6-8列出了PHP中的運(yùn)算符,并按照優(yōu)先級(jí)從高到低進(jìn)行了排列。,【例6-13】運(yùn)算符與表達(dá)式綜合實(shí)例,本例中的“$a+$b”是實(shí)現(xiàn)了把數(shù)字字符當(dāng)作數(shù)字來用,兩數(shù)字相加值為444。而“$a.$b”則是把數(shù)字當(dāng)成字符用,兩字符相加為123321。我們?cè)谑褂眠^程中一定要分清楚什么情況下用什么符號(hào)。 “$b$a”即為比較表達(dá)式,當(dāng)比較的兩個(gè)操作數(shù)類型不同時(shí),自動(dòng)轉(zhuǎn)化為數(shù)值型進(jìn)行比較,所以本例中$b=321,$a=123,所以$b$a的結(jié)果為真,返回真值“1”。 “$a-23+$b+=$a%3?50:30”則為三目運(yùn)算符與賦值運(yùn)算符的綜合運(yùn)用,有些復(fù)雜,其執(zhí)行過程如下: (1)$a%3=0,0即為假值。 (2)(1)的結(jié)果為假,則三目運(yùn)算符結(jié)果為30。 (3)$b+=30,即相當(dāng)于$b=$b+30=351。 (4)然后按從左至右執(zhí)行$a-23+351,結(jié)果為451。,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)信息工程(信號(hào)與線性系統(tǒng))試題及答案
- 2026年冰箱維修(制冷系統(tǒng)維修)試題及答案
- 2025年高職電子技術(shù)應(yīng)用(電路調(diào)試)試題及答案
- 2025年中職美容(紋繡技術(shù))試題及答案
- 2025年中職人工智能技術(shù)應(yīng)用(AI圖像處理基礎(chǔ))試題及答案
- 2025年高職(建筑裝飾工程技術(shù))建筑裝飾預(yù)算試題及答案
- 2025年中職早期教育(嬰幼兒語(yǔ)言教育)試題及答案
- 2025年中職智能控制技術(shù)(智能控制基礎(chǔ))試題及答案
- 2025年大學(xué)中醫(yī)學(xué)(中醫(yī)內(nèi)科研究)試題及答案
- 2025年大學(xué)機(jī)器人控制技術(shù)(編程)試題及答案
- CJ/T 107-1999城市公共交通客運(yùn)設(shè)施城市公共汽、電車候車亭
- 裝修材料供應(yīng)商合同協(xié)議
- LKJ2000型監(jiān)控裝置控制模式行車安全與設(shè)備96課件
- 驛站轉(zhuǎn)讓協(xié)議書范本
- 2025年河北省職業(yè)院校技能大賽高職組(商務(wù)數(shù)據(jù)分析賽項(xiàng))參考試題庫(kù)(含答案)
- 《造血干細(xì)胞移植護(hù)理指南》課件
- 2025承攬加工訂做合同范本
- 托幼機(jī)構(gòu)傳染病應(yīng)急處置預(yù)案
- 汕頭市金平區(qū)2025屆九年級(jí)數(shù)學(xué)第一學(xué)期期末檢測(cè)試題含解析
- 2023年司法鑒定所黨支部年終總結(jié)
- 腫瘤生物學(xué)1(完整版)
評(píng)論
0/150
提交評(píng)論