PHP 7.4中的(Numeric Literal Separator )
介紹
人類的眼睛并沒有為快速解析長(zhǎng)數(shù)字序列而優(yōu)化。因此,缺乏可視分隔符會(huì)使讀取和調(diào)試代碼的時(shí)間更長(zhǎng),并可能導(dǎo)致意外的錯(cuò)誤。
1000000000; // Is this a billion? 100 million? 10 billion? ?107925284.88;? // What scale or power of 10 is this?
此外,沒有視覺分隔符,數(shù)字文字無法傳達(dá)任何額外的信息,例如財(cái)務(wù)數(shù)量是否以美分存儲(chǔ):
$discount = 13500; // Is this 13,500? Or 135, because it's in cents?
建議
通過支持?jǐn)?shù)字文字中的下劃線來可視化地分隔數(shù)字組,從而提高代碼的可讀性。
$threshold = 1_000_000_000; // a billion! $testValue = ?107_925_284.88; // scale is hundreds of millions $discount = 135_00; // $135, stored as cents
下劃線分隔符可用于PHP支持的所有數(shù)值文字符號(hào)中:
6.674_083e-11; // float 299_792_458; // decimal 0xCAFE_F00D; // hexadecimal 0b0101_1111; // binary 0137_041; // octal
限制
唯一的限制是數(shù)字文字中的每個(gè)下劃線必須直接位于兩個(gè)數(shù)字之間。這條規(guī)則意味著下面的用法都不是有效的數(shù)字文字:
_100; // already a valid constant name // these all produce "Parse error: syntax error": 100_; // trailing 1__1; // next to underscore 1_.0; 1._0; // next to decimal point 0x_123; // next to x 0b_101; // next to b 1_e2; 1e_2; // next to e
PHP功能不受影響
在數(shù)字文字的數(shù)字之間添加下劃線不會(huì)改變其值。下劃線在詞法分析階段被刪除,因此運(yùn)行時(shí)不受影響。
var_dump(1_000_000); // int(1000000)
此RFC不會(huì)將字符串的行為更改為數(shù)字轉(zhuǎn)換。數(shù)字分隔符旨在提高代碼的可讀性,而不是改變輸入的處理方式。
向后不兼容的更改
以上就是PHP 7.4中的數(shù)值文字分隔符(Numeric Literal Separator )的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司其它相關(guān)文章!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
新聞標(biāo)題:PHP中NumericLiteralSeparator是什么-創(chuàng)新互聯(lián)
文章起源:http://jinyejixie.com/article2/depdoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站導(dǎo)航、App設(shè)計(jì)、ChatGPT、定制網(wǎng)站、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容