真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

復(fù)習(xí)PHP-語(yǔ)言參考-運(yùn)算符

1.運(yùn)算符的優(yōu)先級(jí)

為延津等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及延津網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站制作、成都做網(wǎng)站、延津網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

請(qǐng)參照這個(gè)表

http://www.php.net/manual/zh/language.operators.precedence.php

例1:

$a = $b+=3; 事實(shí)發(fā)生的順序?yàn)?/p>

$a = ($b+=3);

++$a + $a++; 事實(shí)發(fā)生的順序?yàn)?/p>

(++$a) + ($a++); 前一個(gè)++$a將會(huì)影響到后面的$a++中的$a的值。

最好使用括號(hào),讓人易懂。

例2.  !$a = foo()

!的優(yōu)先級(jí)比=高 ,但兩者結(jié)合的順序都是從右往左 所以這個(gè)表達(dá)式的執(zhí)行順序?yàn)?($a=foo())

誰(shuí)會(huì)扯蛋這么寫? 除了讓人看著頭暈以外,沒(méi)有其他任何作用了。

2.算術(shù)運(yùn)算符

注意:除法幾乎總是返回浮點(diǎn)數(shù)(除非兩個(gè)數(shù)都為整數(shù)且能整除才返回INT)

注意:取模(或稱取余)時(shí),浮點(diǎn)數(shù)會(huì)被忽略小數(shù),轉(zhuǎn)為整數(shù)計(jì)算。 如:5.5%3=2

注意:取模(或稱取余)時(shí),余數(shù)的符號(hào)與前者相同

-5%3 = –2,5%-3=2

3.賦值運(yùn)算符

基本的賦值運(yùn)算符就是=

注意:PHP5中$x = object 默認(rèn)是引用object,修改$x 會(huì)同時(shí)修改object里的內(nèi)容,所以如果需要完全COPY的話 用clone

直接引用賦值 $a = &$b;

注意:new返回的是一個(gè)引用 所以$a = &new x;會(huì)報(bào)錯(cuò)。

但 new 引用賦值給$a后  $b = &$a;是不會(huì)報(bào)錯(cuò)的,因?yàn)檫@時(shí)$a是new x引用表示的字符串,而非new x。

4.位運(yùn)算符

& 與 00得0,10得0,11得1。(同時(shí)為1才為1,否則都為0)

| 或 00得0,10得1,11得1。(同時(shí)為0才為0,否則都為1)

^ 異或 00得0,10得1,11得0。(兩邊相等則為0,否則都為1)

~ 取反 (就是轉(zhuǎn)換為二進(jìn)制后,全部反轉(zhuǎn),0變1,1變0)

<< 左移 將對(duì)象二進(jìn)制后左移X位,左邊丟,右邊補(bǔ)0

>> 右移 將對(duì)象二進(jìn)制后右移X位,左邊補(bǔ)(正數(shù)補(bǔ)0,負(fù)數(shù)補(bǔ)1),右邊丟

(C++里還有>>>叫無(wú)符號(hào)右移,即左邊無(wú)論正負(fù)都補(bǔ)0,右邊丟)

注意:由于==的優(yōu)先級(jí)比&高,所以$a&$b==true 的事實(shí)發(fā)生順序?yàn)?a&($b==true),所以如果要讓前面先運(yùn)算則需加上括號(hào)($a&$b) == true;

注意:不要在32位系統(tǒng)下右移超過(guò)32位,也不要在結(jié)果可能超過(guò)32位的情況下左移,可用GMP移動(dòng)。

例:一個(gè)蛋疼的判斷奇偶的辦法

/**    
* 判斷一個(gè)數(shù)是奇數(shù)還是偶數(shù)    
* 思路為:    
* 奇數(shù)的話,他右移一位得到的結(jié)果永遠(yuǎn)是1    
* 而偶數(shù)右移一位得到的結(jié)果永遠(yuǎn)是0    
* */    
$a = 7; //101    
$b = $a>>1; //10    
$c = $b<<1; //100    
echo $c^$a; //100 ^ 101 得到001 判斷出來(lái)了 ^ 相同的為0,不同才為1    
?>

如何將位移出來(lái)的位保存下來(lái),可以用&上移出來(lái)的位,需要用到的函數(shù)為base_convert

5.比較運(yùn)算符

注意:switch是==比較

注意:浮點(diǎn)由于實(shí)際值的不準(zhǔn)確,所以不應(yīng)相比較。(可是沒(méi)辦法?。?/p>

三元運(yùn)算在5.3后可以這么寫 expr1?:expr3; expr1為真返回expr1否則返回expr3

6.錯(cuò)誤運(yùn)算符

符號(hào)為@,最好和 or die結(jié)合使用。

如果激活了ini的track_errors 則錯(cuò)誤會(huì)被存放在$php_errormsg中。

set_error_handler可以自定義錯(cuò)誤處理函數(shù)(不深究了)

7.執(zhí)行運(yùn)算符

符號(hào)為反引號(hào)``,功能與shell_exec相同

這個(gè)挺好的,比如linux的ls win的dir 直接顯示目錄里的文件

8.遞增遞減運(yùn)算符

這個(gè)沒(méi)啥說(shuō)的 注意符號(hào)在變量前后的區(qū)別

9.邏輯運(yùn)算符

and 和&&差不多 但注意優(yōu)先級(jí)

or 和||差不多

xor a和b任何一個(gè)為真就為真,但兩者同時(shí)為真或假都為假

! 反著來(lái)

&& 并且

|| 或者

10.字符串運(yùn)算符

. 連接符 .= 合并

11.數(shù)組運(yùn)算

+  合并兩個(gè)數(shù)組(如果有相同的鍵名,左邊覆蓋右邊)

== 判斷兩個(gè)數(shù)組鍵和值是否相等,順序可以不一樣

=== 全等就不說(shuō)了

!= 和==相反

<> 和!=差不多

!== 不全等(和===相反)

12.類型運(yùn)算符

instanceof  判斷變量是否是一個(gè)對(duì)象的實(shí)例(引不引用都一樣)

$a=new myclass;

echo $a instanceof myclass;(也支持字符串判斷 $a instanceof “myclass”)

還可以判斷是否是接口的實(shí)例

instanceof和 is_a功能一模一樣。

擴(kuò)展:is_subclass_of(obj,classname) 判斷對(duì)象是否是該類的子類

注意:僅能判斷是否屬于對(duì)象的一個(gè)實(shí)例,而不能判斷兩個(gè)對(duì)象是否相同。(相同的實(shí)例判斷應(yīng)用==或=== 或者轉(zhuǎn)換成array再==)


名稱欄目:復(fù)習(xí)PHP-語(yǔ)言參考-運(yùn)算符
文章起源:http://weahome.cn/article/jsehoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部