为什么我不能在数字中包含下划线?

Why can't I include underscore in numbers?

最近看到有人这样写百万:

$myNumber = 1_000_000;

当我试图在我的 PHP 代码中使用它时,我得到了错误:

Parse error: syntax error, unexpected '_000_000' (T_STRING), expecting ')' in /in/2MYCH on line 3

这是什么符号?

从 PHP 7.4 开始,您可以使用下划线分隔数字中的数字。
请参阅此 RFC:https://wiki.php.net/rfc/numeric_literal_separator

实施此更改是为了让人眼更容易分辨数字文字中有多少位数字。

例如:

usleep(3500000); // Difficult: How many microseconds is this?
usleep(3_500_000); // Easy: This is 3.5 million

此表示法适用于 PHP 支持的所有数字文字表示法,例如整数、浮点数、十六进制。