PHP教程第七講_第1頁(yè)
PHP教程第七講_第2頁(yè)
PHP教程第七講_第3頁(yè)
PHP教程第七講_第4頁(yè)
PHP教程第七講_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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)介

1、一、算術(shù)運(yùn)算符還記得學(xué)校里學(xué)到的基本數(shù)學(xué)知識(shí)嗎?就和它們一樣。 算術(shù)運(yùn)算符除法運(yùn)算符總是返回浮點(diǎn)數(shù)。只有在下列情況例外:兩個(gè)操作數(shù)都是整數(shù)(或字符串轉(zhuǎn)換成的整數(shù))并且正好能整除,這時(shí)它返回一個(gè)整數(shù)。取模運(yùn)算符的操作數(shù)在運(yùn)算之前都會(huì)轉(zhuǎn)換成整數(shù)(除去小數(shù)部分)。取模運(yùn)算符 % 的結(jié)果和被除數(shù)的符號(hào)(正負(fù)號(hào))相同。即 $a % $b 的結(jié)果和 $a 的符號(hào)相同。例如:二、賦值運(yùn)算符基本的賦值運(yùn)算符是“=”。一開始可能會(huì)以為它是“等于”,其實(shí)不是的。它實(shí)際上意味著把右邊表達(dá)式的值賦給左邊的運(yùn)算數(shù)。賦值運(yùn)算表達(dá)式的值也就是所賦的值。也就是說(shuō),“$a = 3”的值是 3。這樣就可以做一些小技巧:對(duì)于數(shù)組

2、array,對(duì)有名字的鍵賦值是用“=”運(yùn)算符。此運(yùn)算符的優(yōu)先級(jí)和其它賦值運(yùn)算符相同。 在基本賦值運(yùn)算符之外,還有適合于所有二元算術(shù),數(shù)組集合和字符串運(yùn)算符的“組合運(yùn)算符”,這樣可以在一個(gè)表達(dá)式中使用它的值并把表達(dá)式的結(jié)果賦給它,例如:注意賦值運(yùn)算將原變量的值拷貝到新變量中(傳值賦值),所以改變其中一個(gè)并不影響另一個(gè)。這也適合于在密集循環(huán)中拷貝一些值例如大數(shù)組。引用賦值PHP 支持引用賦值,使用“$var = &$othervar;”語(yǔ)法。引用賦值意味著兩個(gè)變量指向了同一個(gè)數(shù)據(jù),沒(méi)有拷貝任何東西。三、位運(yùn)算符位運(yùn)算符允許對(duì)整型數(shù)中指定的位進(jìn)行求值和操作。Example 1 整數(shù)的 AND,OR

3、和 XOR 位運(yùn)算符?php/* * Ignore the top section, * it is just formatting to make output clearer. */$format = (%1$2d = %1$04b) = (%2$2d = %2$04b) . %3$s (%4$2d = %4$04b) . n;echo 以上例程會(huì)輸出:- - - - result value op test - - - - Bitwise AND( 0 = 0000) = ( 0 = 0000) & ( 5 = 0101)( 1 = 0001) = ( 1 = 0001) & ( 5 =

4、 0101)( 0 = 0000) = ( 2 = 0010) & ( 5 = 0101)( 4 = 0100) = ( 4 = 0100) & ( 5 = 0101)( 0 = 0000) = ( 8 = 1000) & ( 5 = 0101) Bitwise Inclusive OR( 5 = 0101) = ( 0 = 0000) | ( 5 = 0101)( 5 = 0101) = ( 1 = 0001) | ( 5 = 0101)( 7 = 0111) = ( 2 = 0010) | ( 5 = 0101)( 5 = 0101) = ( 4 = 0100) | ( 5 = 0101)

5、(13 = 1101) = ( 8 = 1000) | ( 5 = 0101) Bitwise Exclusive OR (XOR)( 5 = 0101) = ( 0 = 0000) ( 5 = 0101)( 4 = 0100) = ( 1 = 0001) ( 5 = 0101)( 7 = 0111) = ( 2 = 0010) ( 5 = 0101)( 1 = 0001) = ( 4 = 0100) ( 5 = 0101)(13 = 1101) = ( 8 = 1000) ( 5 = 0101)四、比較運(yùn)算符比較運(yùn)算符,如同它們名稱所暗示的,允許對(duì)兩個(gè)值進(jìn)行比較。如果比較一個(gè)數(shù)字和字符串或者

6、比較涉及到數(shù)字內(nèi)容的字符串,則字符串會(huì)被轉(zhuǎn)換為數(shù)值并且比較按照數(shù)值來(lái)進(jìn)行。此規(guī)則也適用于 switch 語(yǔ)句。當(dāng)用 = 或 != 進(jìn)行比較時(shí)則不進(jìn)行類型轉(zhuǎn)換,因?yàn)榇藭r(shí)類型和數(shù)值都要比對(duì)。 truevar_dump(1 = 01); / 1 = 1 - truevar_dump(10 = 1e1); / 10 = 10 - truevar_dump(100 = 1e2); / 100 = 100 - trueswitch (a) case 0: echo 0; break;case a: / never reached because a is already matched with 0 ec

7、ho a; break;?標(biāo)準(zhǔn)數(shù)組比較代碼?php/ 數(shù)組是用標(biāo)準(zhǔn)比較運(yùn)算符這樣比較的function standard_array_compare($op1, $op2) if (count($op1) count($op2) return -1; / $op1 count($op2) return 1; / $op1 $op2 foreach ($op1 as $key = $val) if (!array_key_exists($key, $op2) return null; / uncomparable elseif ($val $op2$key) return 1; return 0

8、; / $op1 = $op2?五、執(zhí)行運(yùn)算符PHP 支持一個(gè)執(zhí)行運(yùn)算符:反引號(hào)()。注意這不是單引號(hào)!PHP 將嘗試將反引號(hào)中的內(nèi)容作為外殼命令來(lái)執(zhí)行,并將其輸出信息返回(例如,可以賦給一個(gè)變量而不是簡(jiǎn)單地丟棄到標(biāo)準(zhǔn)輸出)。?php$output = ls -al;echo $output;?Note: 反引號(hào)運(yùn)算符在激活了安全模式或者關(guān)閉了 shell_exec() 時(shí)是無(wú)效的。六、遞增/遞減運(yùn)算符PHP 支持 C 風(fēng)格的前后遞增與遞減運(yùn)算符。Note: 遞增遞減運(yùn)算符不影響布爾值。遞減 NULL 值也沒(méi)有效果,但是遞增 NULL 的結(jié)果是 1。一個(gè)簡(jiǎn)單的示例腳本:?phpecho Pos

9、tincrement;$a = 5;echo Should be 5: . $a+ . n;echo Should be 6: . $a . n;echo Preincrement;$a = 5;echo Should be 6: . +$a . n;echo Should be 6: . $a . n;echo Postdecrement;$a = 5;echo Should be 5: . $a- . n;echo Should be 4: . $a . n;echo Predecrement;$a = 5;echo Should be 4: . -$a . n;echo Should b

10、e 4: . $a . n;?在處理字符變量的算術(shù)運(yùn)算時(shí),PHP 沿襲了 Perl 的習(xí)慣,而非 C 的。例如,在 Perl 中 Z+1 將得到 AA,而在 C 中,Z+1 將得到 (ord(Z) = 90,ord() = 91)。注意字符變量只能遞增,不能遞減,并且只支持純字母(a-z 和 A-Z)。涉及字符變量的算數(shù)運(yùn)算:?php$i = W;for ($n=0; $n以上例程會(huì)輸出:XYZAAABAC七、邏輯運(yùn)算符“與”和“或”有兩種不同形式運(yùn)算符的原因是它們運(yùn)算的優(yōu)先級(jí)不同邏輯運(yùn)算符示例:以上例程的輸出類似于:bool(true)bool(false)bool(false)bool(t

11、rue)八、字符串運(yùn)算符有兩個(gè)字符串運(yùn)算符。第一個(gè)是連接運(yùn)算符(“.”),它返回其左右參數(shù)連接后的字符串。第二個(gè)是連接賦值運(yùn)算符(“.=”),它將右邊參數(shù)附加到左邊的參數(shù)后。九、數(shù)組運(yùn)算符+ 運(yùn)算符把右邊的數(shù)組元素(除去鍵值與左邊的數(shù)組元素相同的那些元素)附加到左邊的數(shù)組后面,但是重復(fù)的鍵值不會(huì)被覆蓋。 apple, b = banana);$b = array(a = pear, b = strawberry, c = cherry);$c = $a + $b; / Union of $a and $becho Union of $a and $b: n;var_dump($c);$c = $b + $a; / Union of $b and $aecho Union of $b and $a: n;var_dump($c);?執(zhí)行后,此腳本會(huì)顯示:Union of $a and $b:array(3) a= string(5) apple b= string(6) banana c= string(6) cherryUnion of $b and $a:array(3) a= string

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論