PHP Numeric Literal Separator

By Dillon Smart · · · 0 Comments

First introduced in PHP 7.4, the Numeric Literal Separator in PHP makes large integers within your code easy to read.

Naturally, we find it easier to read number which are grouped, for example, 1,650,000.

Using the numeric literal separator in PHP

Since PHP 7.4, we can now use numbers like this:

$number = 1_650_000;

echo $number; // 1650000

Adding an underscore between digits in a numeric literal will not change its value. The underscores are stripped out during the lexing stage, so the runtime is not affected.

I wrote an post which explains more about the Lexing stage in PHP.

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

The numeric literal separator can be used with all numeric literal notations supported in PHP.

  • Float
  • Decimal
  • Hexadecimal
  • Binary
  • Octal

Restrictions with the numeric literal separator in PHP

The only restriction with the numeric literal separator is that each underscore must directly between wo digits.

Here is a list of examples which would throw a 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

Learn about new features coming in PHP 8.3.

PHP

0 Comment

Was this helpful? Leave a comment!

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Laravel – Specified key was too long Error

Updated 18th May 2021

With Laravel 5.4, some users may be hit with the Laravel Specified key was too long Error when migrating the database. This is because in the latest Laravel update, the developers made changes to the default database charset, making it utf8mb4. If your using MySQL 5.7.7 or higher, you won’t encounter this issue, however older versions of MySQL

WSL vs Dual Boot speed test

Updated 16th August 2022

In this experiment, I will be using WSL2 running Ubuntu 20.04 and Ubuntu 20.04 dual-booted on the same Dell XPS. Is there a noticeable difference? Follow along for the results of the WSL vs Dual Boot speed test. If you are like me and use different development environments a lot, you may find the results

What is the Lexing stage in PHP

Updated 10th December 2023

Lexing is a phase the PHP interpreter undergoes while interpreting the source code written. Lexing, is the first of four overall steps performed by the PHP interpreter. Steps in the PHP Interpreter The PHP interpreter undergoes a total of four steps before executing the code written. What is Lexing in PHP Lexical analysis, also known