成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

[譯] php 中更簡(jiǎn)潔的三元運(yùn)算符 ?:

maxmin / 1655人閱讀

摘要:原文地址今天我發(fā)現(xiàn)了三元運(yùn)算符的一個(gè)小小的用法這給我干涸的大腦一點(diǎn)樂(lè)趣三元運(yùn)算符是對(duì)參數(shù)賦值時(shí)候的一個(gè)簡(jiǎn)潔的主要用法一個(gè)主要的用法三元運(yùn)算符能夠讓你在一行代碼中描述判定代碼從而替換掉類(lèi)似以下的代碼使用以下代碼替代第二個(gè)代碼例子是非常簡(jiǎn)潔的用

原文地址 Even shorter ternary operators in PHP using ?:

今天我發(fā)現(xiàn)了PHP三元運(yùn)算符的一個(gè)小小的用法. 這給我干涸的大腦一點(diǎn)樂(lè)趣!

PHP 三元運(yùn)算符是對(duì)參數(shù)賦值時(shí)候的一個(gè)簡(jiǎn)潔的主要用法. 一個(gè)主要的用法: PHP 三元運(yùn)算符能夠讓你在一行代碼中描述判定代碼, 從而替換掉類(lèi)似以下的代碼:

if (isset($value)) { 
    $output = $value;
} else { 
    $output = "No value set.";
}

使用以下代碼替代:

$output = isset($value) ? $value : "No value set.";

第二個(gè)代碼例子是非常簡(jiǎn)潔的用法, 在多種情況下(并非所有), 這是一個(gè)非常實(shí)用的用法. 有許多關(guān)于是否應(yīng)該使用三元運(yùn)算符的爭(zhēng)辯;讓我說(shuō), 這就是一個(gè)工具, 向其他工具一樣, 只是用的正確與否.

常用的語(yǔ)法是 (expression) ? value if truthy : value if falsy.這個(gè)表達(dá)式可以是一個(gè)變量, 測(cè)試這個(gè)變量是真還是假:

$output = $value ? $value : "No value set.";

問(wèn)題是: 以上的例子很常用同時(shí)也重復(fù)的有些煩人: 寫(xiě)兩次 $value 就像是感到錯(cuò)誤一樣.

好在是, 我今天發(fā)現(xiàn)在PHP 5.3中介紹了一個(gè)更簡(jiǎn)潔的使用三元運(yùn)算符的語(yǔ)法. 你可以從手冊(cè)中學(xué)到, 但是這里我們?cè)趺礃幼屔线叺睦痈?jiǎn)潔呢:

$output = $value ?: "No value set.";

這個(gè)看起來(lái)很熟悉, 這個(gè)是因?yàn)楹芟衿渌暮?jiǎn)寫(xiě)運(yùn)算符:

$value = $value . $other_value;

轉(zhuǎn)換成:

$value .= $other_value;

為了更簡(jiǎn)潔, 這個(gè)意味著我們可以這樣簡(jiǎn)寫(xiě)并不意味著我們就應(yīng)該這么寫(xiě). 但是, 當(dāng)我們寫(xiě)簡(jiǎn)潔代碼的時(shí)候, 這種方式會(huì)看起來(lái)更清楚, 我們應(yīng)該這么寫(xiě), (并且這個(gè)特性允許我們?cè)诙喾N情況下使用這個(gè)運(yùn)算符[this feature allows us to DRY up the ternary operator in many cases])

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/25733.html

相關(guān)文章

  • 】11 種在大多數(shù)教程中找不到JavaScript技巧

    摘要:否則,將返回空數(shù)組的長(zhǎng)度。該提案目前處于第階段,作為一項(xiàng)實(shí)驗(yàn)性功能。轉(zhuǎn)換為布爾值除了常規(guī)的布爾值和之外,還將所有其他值視為或。這也可以用于將布爾值轉(zhuǎn)換為數(shù)字,如下所示在某些上下文中,將被解釋為連接操作符,而不是加法操作符。 譯者:前端小智 原文:medium.com/@bretcamero… 當(dāng)我開(kāi)始學(xué)習(xí)JavaScript時(shí),我把我在別人的代碼、code challenge網(wǎng)站以及我使用...

    EastWoodYang 評(píng)論0 收藏0
  • 】Python優(yōu)雅技巧

    摘要:你可以進(jìn)行如下操作需要注意的是這個(gè)竅門(mén)只適用于。在中就不需要進(jìn)行操作了,因?yàn)樗呀?jīng)默認(rèn)進(jìn)行了。這里有幾個(gè)例子可以供你參考譯文出處本文根據(jù)的所譯,整個(gè)譯文帶有我自己的理解與思想,如果譯得不好或有不對(duì)之處還請(qǐng)同行朋友指點(diǎn)。 枚舉 不要這么做: i = 0 for item in iterable: print i, item i += 1 而是這樣: for...

    legendaryedu 評(píng)論0 收藏0
  • 如何在ES5與ES6環(huán)境下處理函數(shù)默認(rèn)參數(shù)

    摘要:函數(shù)默認(rèn)值是一個(gè)很提高魯棒性的東西就是讓程序更健壯關(guān)于函數(shù)默認(rèn)參數(shù)的描述函數(shù)默認(rèn)參數(shù)允許在沒(méi)有值或被傳入時(shí)使用默認(rèn)形參。也就實(shí)現(xiàn)了上邊三元運(yùn)算符的功能。直接使用這種方式,省去了在函數(shù)內(nèi)部進(jìn)行默認(rèn)值的檢查,能夠讓函數(shù)專(zhuān)注的做它應(yīng)該做的事情。 函數(shù)默認(rèn)值是一個(gè)很提高魯棒性的東西(就是讓程序更健壯)MDN關(guān)于函數(shù)默認(rèn)參數(shù)的描述:函數(shù)默認(rèn)參數(shù)允許在沒(méi)有值或undefined被傳入時(shí)使用默認(rèn)形參...

    oliverhuang 評(píng)論0 收藏0
  • How to handle Null Pointer Exception(

    摘要:我們應(yīng)該考慮使用字符串常量調(diào)用方法來(lái)代替使用對(duì)象調(diào)用該方法。然而如果我們通過(guò)字符串常量來(lái)調(diào)用方法,執(zhí)行流程會(huì)正常進(jìn)行檢查方法的參數(shù)在執(zhí)行方法的方法體之前,務(wù)必對(duì)方法的參數(shù)進(jìn)行值檢查。 原文地址作者 Sotirios-Efstathios (Stathis) Maneas譯者 smallcloverThanks for your watching! java.lang.NullPoine...

    MRZYD 評(píng)論0 收藏0
  • 兩行代碼給 PHP7 添加一個(gè)“非空合并”語(yǔ)法糖

    摘要:添加了一個(gè)合并操作符,用于簡(jiǎn)化的條件判斷它相當(dāng)于僅僅是判斷,在為等值時(shí)還是會(huì)返回的值還是為。 我們知道從 PHP 5.3?起三元運(yùn)算符 ? : 有一個(gè)寫(xiě)法簡(jiǎn)潔寫(xiě)法是這樣的:

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

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<