成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

PHP短路運(yùn)算符

sshe / 3343人閱讀

摘要:事實(shí)上,計(jì)算機(jī)為了節(jié)省資源,采取了短路運(yùn)算的方式解釋這個(gè)邏輯表達(dá)式。短路運(yùn)算的精髓就是邏輯與檢查運(yùn)算符第一個(gè)表達(dá)式是否為,如果直接返回,后續(xù)的表達(dá)式直接忽略。

先看一段代碼
$a = 5; $b = 20;
if ($a = 10 || $b = 7) {
    $a++;
    $b++;
}
echo $a,"
","",$b; //1 21

剛開始接觸可能一眼看過去很容易說出最后的輸出是5 20 但是仔細(xì)看后()里的條件表達(dá)式是賦值操作,所以應(yīng)該輸出11 21.但是計(jì)算機(jī)和我們開了一個(gè)并不好笑的玩笑。她妹的,最后竟然輸出的是1 21。

  

計(jì)算機(jī)的思路和人腦的思路是有區(qū)別的,在編程的時(shí)候必須了解計(jì)算機(jī)的思維模式:機(jī)械式的思維模式。我們人在判斷這個(gè)邏輯表達(dá)式的時(shí)候會(huì)跳躍性的先對(duì)$a$b賦值,然后再做與運(yùn)算,這樣做雖然不影響邏輯運(yùn)算的結(jié)果,但是也會(huì)產(chǎn)生上面這種副作用。事實(shí)上,計(jì)算機(jī)為了節(jié)省資源,采取了短路運(yùn)算的方式解釋這個(gè)邏輯表達(dá)式。當(dāng)他發(fā)現(xiàn)與運(yùn)算符的前一個(gè)數(shù)值(例如$a)是false時(shí),他就會(huì)判斷這個(gè)與運(yùn)算表達(dá)式的運(yùn)算結(jié)果是false,然后跳出這個(gè)邏輯運(yùn)算表達(dá)式,繼續(xù)執(zhí)行下面的程序,而不會(huì)執(zhí)行表達(dá)式剩下的語句。

至于這里為什么$a的值是1? 是因?yàn)樵跅l件表達(dá)式的時(shí)候$a = 10的操作的時(shí)候php會(huì)把$a轉(zhuǎn)換成boolean。上面的例子中$a = 10即轉(zhuǎn)換成了true.所以在{}中的$a++ 是不能進(jìn)行加法運(yùn)算的。但是如果花括號(hào)中的$a++換成$a = $a + 1 那么此時(shí)就可以進(jìn)行數(shù)值運(yùn)算了。

  

短路運(yùn)算的精髓就是
邏輯與(&&)->檢查運(yùn)算符第一個(gè)表達(dá)式是否為false,如果false直接返回false,后續(xù)的表達(dá)式直接忽略。
邏輯或(||)->檢查運(yùn)算符第一個(gè)表達(dá)式是否為true,如果是true直接返回true,后續(xù)表達(dá)式直接忽略。
PS:&&的優(yōu)先級(jí)高于and、||的優(yōu)先級(jí)高于or、等號(hào)(=)的優(yōu)先級(jí)高于andor

補(bǔ)充
php

//以上例程的輸出類似于:
bool(true)
bool(false)
bool(false)
bool(true)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/20985.html

相關(guān)文章

  • 后端知識(shí)點(diǎn)總結(jié)——PHP

    摘要:后端知識(shí)點(diǎn)總結(jié)服務(wù)器服務(wù)器的作用接收客戶端的請(qǐng)求,查找需要的數(shù)據(jù)文件數(shù)據(jù)庫其它系統(tǒng),發(fā)送回客戶端。注意默認(rèn)情況下,若判定了某個(gè)相等條件則執(zhí)行該條件以及后續(xù)所有條件中的執(zhí)行語句必須配合關(guān)鍵字使用。 后端知識(shí)點(diǎn)總結(jié)——PHP 1.Web服務(wù)器 Web服務(wù)器的作用:接收客戶端(PC/PAD/PHONE)的請(qǐng)求,查找需要的數(shù)據(jù)(文件/數(shù)據(jù)庫/其它系統(tǒng)),發(fā)送回客戶端。 Web服務(wù)器分為兩種:...

    Astrian 評(píng)論0 收藏0
  • 后端知識(shí)點(diǎn)總結(jié)——PHP

    摘要:后端知識(shí)點(diǎn)總結(jié)服務(wù)器服務(wù)器的作用接收客戶端的請(qǐng)求,查找需要的數(shù)據(jù)文件數(shù)據(jù)庫其它系統(tǒng),發(fā)送回客戶端。注意默認(rèn)情況下,若判定了某個(gè)相等條件則執(zhí)行該條件以及后續(xù)所有條件中的執(zhí)行語句必須配合關(guān)鍵字使用。 后端知識(shí)點(diǎn)總結(jié)——PHP 1.Web服務(wù)器 Web服務(wù)器的作用:接收客戶端(PC/PAD/PHONE)的請(qǐng)求,查找需要的數(shù)據(jù)(文件/數(shù)據(jù)庫/其它系統(tǒng)),發(fā)送回客戶端。 Web服務(wù)器分為兩種:...

    Allen 評(píng)論0 收藏0
  • php易錯(cuò)筆記-變量,常量,運(yùn)算符

    摘要:與變量不同,常量不存在可變常量,如果常量名是動(dòng)態(tài)的,也可以用函數(shù)來獲取常量的值。執(zhí)行運(yùn)算符命令反引號(hào)。遞增遞減運(yùn)算符不影響布爾值。遞增遞減其他字符變量則無效,原字符串沒有變化。不允許用來檢測(cè)常量。 變量 基本 引用賦值 global 關(guān)鍵字 以下結(jié)果在命令行中有效,網(wǎng)頁php中請(qǐng)不要嘗試。。。都是坑。Example #1 使用 global或$GLOBALS 以下為網(wǎng)頁ph...

    Bamboy 評(píng)論0 收藏0
  • 《javascript高級(jí)程序設(shè)計(jì)》筆記:短路運(yùn)算

    在邏輯運(yùn)算中,轉(zhuǎn)換為boolean類型的值后為false的情況: 0、、null、false、undefined、NaN,其他都為true。 短路運(yùn)算是利用邏輯運(yùn)算中的 && 和 || 操作符,對(duì)應(yīng)的有兩種不同的短路運(yùn)算類型 || 短路運(yùn)算 僅當(dāng)前者不成立時(shí)才去執(zhí)行后者 原理:||先計(jì)算第一個(gè)運(yùn)算數(shù),如果可以被轉(zhuǎn)換成true,則返回左邊這個(gè)表達(dá)式的值,否則計(jì)算第二個(gè)運(yùn)算數(shù)。即使||運(yùn)算符的運(yùn)算數(shù)...

    Vicky 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<