摘要:位操作符不經(jīng)常使用。初始化類(lèi)的實(shí)例訪問(wèn)類(lèi)的成員三元操作符三元操作符可以被看做是的條件語(yǔ)句的簡(jiǎn)寫(xiě)。執(zhí)行操作符一對(duì)反向單引號(hào)執(zhí)行操作符實(shí)際上是一對(duì)操作符,是一對(duì)反向單引號(hào)。操作符允許檢查一個(gè)對(duì)象是否是特定類(lèi)的實(shí)例。
一、算術(shù)運(yùn)算符
+(加) $a + $b -(減) $a - $b *(乘) $a * $b /(除) $a / $b %(取余) $a % $b
二、字符串操作符
.(點(diǎn))(php中唯一的字符串操作符)
三、賦值運(yùn)算符
1、簡(jiǎn)單賦值運(yùn)算符
=(等于號(hào))
2、復(fù)合賦值運(yùn)算符
+= $a += $b 等價(jià)于 $a = $a + $b -= $a -= $b 等價(jià)于 $a = $a - $b *= $a *= $b 等價(jià)于 $a = $a * $b /+ $a /= $b 等價(jià)于 $a = $a / $b %= $a %= $b 等價(jià)于 $a = $a % $b .= $a .= $b 等價(jià)于 $a = $a . $b
3、前置遞增遞減運(yùn)算和后置遞增遞減運(yùn)算
$a++ $a本身的值沒(méi)有變,但是整個(gè)表達(dá)式的值將變成$a + 1 ++$a $a本身的值改變了,$a先被 $a = $a + 1,然后再返回$a + 1 $a-- $a本身的值沒(méi)有變,但是整個(gè)表達(dá)式的值將變成$a - 1 --$a $a本身的值改變了,$a先被 $a = $a - 1,然后再返回$a + 1
4、引用操作符
&
引用操作符&可以在關(guān)聯(lián)賦值中使用。通常,在講一個(gè)變量的值賦給另一個(gè)變量的時(shí)候,先產(chǎn)生元變量的一個(gè)副本,然后再將它保存在內(nèi)存的其他地方。例如:
$a = 5; $b = $a;
上例中,第一行代碼是給$a賦值;第二行代碼是首先產(chǎn)生$a的一個(gè)副本,然后再將它保存在$b中。如果隨后改變$a的值,$b的值將不會(huì)改變。在看下面的例子:
$a = 5; $b = &$a; $a = 7; // $a and $b are now both 7
注意:引用不是一個(gè)獨(dú)立的第二個(gè)指針,而是使用了原變量的指針,即$a和$b都指向了內(nèi)存的相同地址。上例中,第二行就是$b引用的$a,當(dāng)?shù)谌?a的值發(fā)生變化時(shí),引用過(guò)它的$b也跟著發(fā)生了變化。我們可以通過(guò)重置打破這種引用關(guān)聯(lián):
unsert($a);
注意:這個(gè)重置只是重置了$a,它不會(huì)改變$b(7)的值,unsert($a)僅僅破壞了$a和值7保存在內(nèi)存中的關(guān)聯(lián)。可以把unsert($a)理解為對(duì)$a的注銷(xiāo)。
四、比較運(yùn)算符
比較運(yùn)算符返回的是邏輯布爾值:true或false。
==(等于) ===(恒等于) !=(不等于) !==(不恒等于) <>(不等于) <(小于) >(大于) <==(小于等于) >==(大于等于)
五、邏輯運(yùn)算符
!(非) &&(與) ||(或) and(與) or(或) xor(異或) $a xor $b 如果$a或$b為true,則返回true。如果$a和$b都是true或都是false,則返回false。
注意:and和or比&&和||的優(yōu)先級(jí)低。
六、位操作符
位操作符可以將一個(gè)整型變量當(dāng)作一些列的位(Bit,比特)來(lái)處理。位操作符不經(jīng)常使用。
&(按位與) $a & $b 將$a和$b的每一位進(jìn)行“與”操作所得的結(jié)果 |(按位或) $a | $b 將$a和$b的每一位進(jìn)行“或”操作所得的結(jié)果 ~(按位非) ~$a 將$a的每一位進(jìn)行“非”操作所得的結(jié)果 ^(按位異或) $a ^ $b 將$a和$b的每一位進(jìn)行“異或”操作所得的結(jié)果 <<(左位移) $a << $b 將$a左移$b位 >>(右位移) $a >> $b 將$a右移$b位
七、其他操作符
,(逗號(hào)) 用來(lái)分割函數(shù)參數(shù)或其他列表項(xiàng),該操作符經(jīng)常被附帶(非獨(dú)立)地使用。 new(初始化類(lèi)的實(shí)例) ->(訪問(wèn)類(lèi)的成員)
1、三元操作符?:
condition ? value if true : value if false
三元操作符可以被看做是 if else 的條件語(yǔ)句的簡(jiǎn)寫(xiě)。
2、錯(cuò)誤抑制操作符
@(at符號(hào))
錯(cuò)誤抑制操作符@可以在任何表達(dá)式前面使用,即任何有值的或可以計(jì)算出值的表達(dá)式之前,例如:
$a = @(57 / 0);
如果上例中并未使用錯(cuò)誤抑制操作符@,那么該行代碼就會(huì)拋出一個(gè)除0警告,使用了@,該警告將被抑制,也就是不被拋出。
如果通過(guò)這種方法抑制了一些警告,一點(diǎn)遇到警告,就需要通過(guò)我們提前寫(xiě)好的處理錯(cuò)誤的語(yǔ)句來(lái)處理。
如果已經(jīng)啟用了php.ini中的track_errors特性,錯(cuò)誤信息將被保存在全局變量$php_errormsg中。
3、執(zhí)行操作符
``(一對(duì)反向單引號(hào))執(zhí)行操作符實(shí)際上是一對(duì)操作符,是一對(duì)反向單引號(hào)。
php將試著將反向單引號(hào)之間的命令當(dāng)做服務(wù)器端的命令來(lái)執(zhí)行。表達(dá)式的值就是命令的執(zhí)行結(jié)果。例如在unix系統(tǒng)中,可以使用:
$out = `ls -la`; echo "" . $out . "";
在windows服務(wù)器上,可以使用:
$out = `dir c:`; echo "" . $out . "";
以上兩種情況都會(huì)得到一個(gè)目錄列表并且將該列表保存在$out中,然后,再將該列表顯示在瀏覽器中或用其他方法來(lái)處理。
4、數(shù)組操作符
注意:下面語(yǔ)法說(shuō)明中,$a和$b都不是普通標(biāo)量值,而是數(shù)組類(lèi)型
+(聯(lián)合) $a + $b 返回一個(gè)包含了$a和$b中所有元素的數(shù)組 ==(等價(jià))$ == $b 如果$a和$b具有相同的鍵值對(duì),返回true ===(恒等) $a === $b 如果$a和$b具有相同的鍵值對(duì)以及相同的順序,返回true !=(非等價(jià)) $a != $b 如果$a和$b不是等價(jià)的,返回true <>(非等價(jià)) $a <> $b 如果$a和$b不是等價(jià)的,返回true !==(非恒等) $ !== $b 如果$a和$b不是恒等的,返回true
5、類(lèi)型操作符
instanceof(唯一的類(lèi)型操作符),該操作符在面向?qū)ο缶幊讨惺褂谩?br>
instanceof操作符允許檢查一個(gè)對(duì)象是否是特定類(lèi)的實(shí)例。例如:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/20753.html
摘要:命名空間可以解決以下兩類(lèi)問(wèn)題用戶(hù)編寫(xiě)的代碼與內(nèi)部的類(lèi)函數(shù)常量或第三方類(lèi)函數(shù)常量之間的名字沖突。在命名空間內(nèi)部訪問(wèn)全局類(lèi)函數(shù)和常量調(diào)用全局函數(shù)訪問(wèn)全局常量實(shí)例化全局類(lèi)命名空間和動(dòng)態(tài)語(yǔ)言特征命名空間的實(shí)現(xiàn)受到其語(yǔ)言自身的動(dòng)態(tài)特征的影響。 PHP 命名空間(namespace)是在PHP 5.3中加入的,如果你學(xué)過(guò)C#和Java,那命名空間就不算什么新事物。 不過(guò)在PHP當(dāng)中還是有著相當(dāng)重要...
摘要:命名空間的支持版本,。另外,在目錄外訪問(wèn)文件時(shí),我們必須將目錄名以及目錄分隔符放在文件名之前得到。定義命名空間命名空間通過(guò)關(guān)鍵字來(lái)聲明。常量常量的值是包含當(dāng)前命名空間名稱(chēng)的字符串。 *命名空間的支持版本:PHP 5 > 5.3.0,PHP 7 。 什么是命名空間 從廣義上來(lái)說(shuō),命名空間是一種封裝事物的方法。在很多地方都可以見(jiàn)到這種抽象概念。例如,在操作系統(tǒng)中目錄用來(lái)將相關(guān)文件分組,對(duì)于...
摘要:而是說(shuō),程序的外部資源,往往是影響性能的重要因素,尤其是當(dāng)外部資源的連接和數(shù)據(jù)獲取本身速度達(dá)不到理想的結(jié)果時(shí)。 暫且不討論「PHP 是不是最好的編程語(yǔ)言」,本文我們將分別分析一下在 PHP 程序的后端外圍資源和前端外圍資源,它們對(duì)整個(gè) PHP Web 應(yīng)用體驗(yàn)的影響,這往往比語(yǔ)言本身大得多。 首先,后端外圍資源,是指跟 PHP 運(yùn)行過(guò)程中與語(yǔ)言本身無(wú)關(guān)的網(wǎng)絡(luò)與 IO 操作、存儲(chǔ)服務(wù)、中...
摘要:轉(zhuǎn)載轉(zhuǎn)載目前編程語(yǔ)言可以分為兩大類(lèi)第一類(lèi)是像,,之類(lèi)的編譯型語(yǔ)言,它們的共性是運(yùn)行之前必須對(duì)源代碼進(jìn)行編譯,然后運(yùn)行編譯后的目標(biāo)文件。初始化完成后讀取腳本文件,引擎對(duì)腳本文件進(jìn)行詞法分析,語(yǔ)法分析。 轉(zhuǎn)載 http://www.php-internals.com/book/?p=chapt02/02-03-00-how-php-script-g... 轉(zhuǎn)載 http://www.l...
摘要:定義屬性,包括一個(gè)靜態(tài)變量構(gòu)造函數(shù)使用來(lái)調(diào)用靜態(tài)變量使用調(diào)用必須使用域運(yùn)算符號(hào)打印最次數(shù)值實(shí)例化對(duì)象輸出我們這里只要注意兩個(gè)地方,第行和第行。我們知道是指向父類(lèi)的指針,一般我們使用來(lái)調(diào)用父類(lèi)的構(gòu)造函數(shù)。 一、->,=>和::的區(qū)別 ->前面的變量是一個(gè)對(duì)象: $user->friends_count 取對(duì)象的friends_count屬性。 $t->homeTimeline($p) 調(diào)...
摘要:本文先簡(jiǎn)要跟蹤底層流的原理,再回到用戶(hù)態(tài)中流的使用。底層流我們知道中的函數(shù)可以打開(kāi)本地文件等并返回一個(gè)句柄,函數(shù)能對(duì)資源句柄進(jìn)行讀寫(xiě),用于關(guān)閉資源。更多關(guān)于底層流的操作可參考官方文檔中開(kāi)發(fā)者的流章節(jié),本文不再深入。 轉(zhuǎn)載請(qǐng)注明文章出處: https://tlanyan.me/php-review... PHP回顧系列目錄 PHP基礎(chǔ) web請(qǐng)求 cookie web響應(yīng) sessi...
閱讀 2470·2021-11-17 09:33
閱讀 757·2021-11-04 16:13
閱讀 1329·2021-10-14 09:50
閱讀 691·2019-08-30 15:53
閱讀 3657·2019-08-30 14:18
閱讀 3268·2019-08-30 14:14
閱讀 2093·2019-08-30 12:46
閱讀 3178·2019-08-26 14:05