Integer literals starting with a zero are octal rather than decimal values. While using octal values is fully supported, most developers do not
have experience with them. They may not recognize octal values as such, mistaking them instead for decimal values.
Noncompliant code example
$myNumber = 023; # Noncompliant myNumber will hold 19, not 23 - was this really expected?
Compliant solution
$myNumber = 19;
Exceptions
This rule does not apply to values smaller than 8 and octal values having 3 digits, since 3 digits octal values are often used as file permission
masks.
Example:
$permissionMask = 0777;
$dayOfMonth = 03;