搜尋
首頁後端開發PHP7PHP 7.4中的數值文字分隔符號(Numeric Literal Separator )

PHP 7.4中的数值文字分隔符(Numeric Literal Separator )

介绍

人类的眼睛并没有为快速解析长数字序列而优化。因此,缺乏可视分隔符会使读取和调试代码的时间更长,并可能导致意外的错误。

1000000000;   // Is this a billion? 100 million? 10 billion?
‪107925284.88;‬ // What scale or power of 10 is this?

此外,没有视觉分隔符,数字文字无法传达任何额外的信息,例如财务数量是否以美分存储:

$discount = 13500; // Is this 13,500? Or 135, because it's in cents?

建议

通过支持数字文字中的下划线来可视化地分隔数字组,从而提高代码的可读性。

$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支持的所有数值文字符号中:

6.674_083e-11; // float
299_792_458;   // decimal
0xCAFE_F00D;   // hexadecimal
0b0101_1111;   // binary
0137_041;      // octal

限制

唯一的限制是数字文字中的每个下划线必须直接位于两个数字之间。这条规则意味着下面的用法都不是有效的数字文字:

_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功能不受影响

在数字文字的数字之间添加下划线不会改变其值。下划线在词法分析阶段被删除,因此运行时不受影响。

var_dump(1_000_000); // int(1000000)

此RFC不会将字符串的行为更改为数字转换。数字分隔符旨在提高代码的可读性,而不是改变输入的处理方式。

向后不兼容的更改

没有。

翻译:https://wiki.php.net/rfc/numeric_literal_separator

以上是PHP 7.4中的數值文字分隔符號(Numeric Literal Separator )的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何在PHP 7中有效使用會議?如何在PHP 7中有效使用會議?Mar 10, 2025 pm 06:20 PM

本文詳細介紹了有效的PHP 7會話管理,涵蓋了session_start(),$ _Session,session_destroy()和安全cookie處理等核心功能。 它強調了安全性最佳實踐,包括HTTP,會話ID再生,S

如何從PHP 5.6升級到PHP 7?如何從PHP 5.6升級到PHP 7?Mar 10, 2025 pm 06:29 PM

本文詳細介紹了將PHP 5.6升級為PHP 7的升級,並強調了關鍵步驟,例如備份,檢查服務器兼容性以及選擇升級方法(軟件包管理器,編譯,控制面板或Web服務器配置)。 它解決了Potentia

如何使用New Relic等工具監視PHP 7的性能?如何使用New Relic等工具監視PHP 7的性能?Mar 10, 2025 pm 06:28 PM

本文解釋瞭如何使用新遺物監視PHP 7應用程序性能。 它詳細詳細介紹了新的Relic的設置,關鍵績效指標(KPI),例如APDEX分數和響應時間,通過交易軌蹟的瓶頸標識和錯誤軌跡

如何在PHP 7中自動加載課程?如何在PHP 7中自動加載課程?Mar 10, 2025 pm 06:20 PM

本文使用SPL_AUTOLOAD_REGISTER()解釋了PHP 7的自動加載,以按需加載類。 它詳細介紹了最佳實踐,例如基於命名空間的自動加載和用於性能優化的緩存,解決了常見問題(例如,找不到類別

如何在PHP 7項目中使用GIT進行版本控制?如何在PHP 7項目中使用GIT進行版本控制?Mar 10, 2025 pm 06:27 PM

本文指導PHP 7開發人員使用GIT進行版本控制。 它涵蓋了初始化,分期,投入,忽略文件,遠程存儲庫,分支,合併,解決衝突和基本的GIT命令。 效率的最佳實踐

如何將PHP 7應用程序部署到Web服務器?如何將PHP 7應用程序部署到Web服務器?Mar 10, 2025 pm 06:28 PM

本文詳細介紹了部署PHP 7應用程序,涵蓋方法(FTP,SSH,部署工具),服務器配置(Apache/nginx,php-fpm),數據庫設置和重要的安全考慮因素。 它突出了服務器compatib等常見挑戰

如何使用Xdebug進行調試PHP 7代碼?如何使用Xdebug進行調試PHP 7代碼?Mar 10, 2025 pm 06:26 PM

本文說明瞭如何使用Xdebug進行調試PHP 7代碼。 它涵蓋Xdebug配置(安裝,php.ini設置,IDE設置),斷點用法(條件,功能,遠程)和故障排除連接問題。 有效的Debuggi

PHP 7中的面向對象的編程(OOP)是什麼?PHP 7中的面向對象的編程(OOP)是什麼?Mar 10, 2025 pm 02:53 PM

本文在PHP 7中解釋了面向對象的編程(OOP),強調了其優勢:模塊化,可重複性,可維護性和改進的代碼組織。 它詳細說明了類,對象,繼承和多態性,以說明其使用

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器