IntegersAn int is a number of the set ℤ = {..., -2, -1, 0, 1, 2, ...}. SyntaxInts can be specified in decimal (base 10), hexadecimal (base 16), octal (base 8) or binary (base 2) notation. The negation operator can be used to denote a negative int.
To use octal notation, precede the number with a
As of PHP 7.4.0, integer literals may contain underscores ( Example #1 Integer literals
Formally, the structure for int literals is as of PHP 8.1.0
(previously, the decimal : [1-9][0-9]*(_[0-9]+)* | 0 hexadecimal : 0[xX][0-9a-fA-F]+(_[0-9a-fA-F]+)* octal : 0[oO]?[0-7]+(_[0-7]+)* binary : 0[bB][01]+(_[01]+)* integer : decimal | hexadecimal | octal | binary
The size of an int is platform-dependent, although a maximum
value of about two billion is the usual value (that's 32 bits signed).
64-bit platforms usually have a maximum value of about 9E18.
PHP does not support unsigned ints.
int size can be determined
using the constant Integer overflowIf PHP encounters a number beyond the bounds of the int type, it will be interpreted as a float instead. Also, an operation which results in a number beyond the bounds of the int type will return a float instead. Example #2 Integer overflow
Integer division
There is no int division operator in PHP, to achieve this
use the intdiv function.
Converting to integer
To explicitly convert a value to int, use either the
If a resource is converted to an int, then the result will be the unique resource number assigned to the resource by PHP at runtime. See also Type Juggling. From booleans
From floating point numbersWhen converting from float to int, the number will be rounded towards zero. As of PHP 8.1.0, a deprecation notice is emitted when implicitly converting a non-integral float to int which loses precision.
If the float is beyond the boundaries of int (usually
Warning
Never cast an unknown fraction to int, as this can sometimes lead to unexpected results.
See also the warning about float precision. From strings
If the string is
numeric
or leading numeric then it will resolve to the
corresponding integer value, otherwise it is converted to zero
( From NULL
From other typesCaution
The behaviour of converting to int is undefined for other types. Do not rely on any observed behaviour, as it can change without notice. |