intval()
intval() — Get the integer value of a variable.
Built-in function of PHP 8.5. The manual lists it as available in PHP 4, PHP 5, PHP 7, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.
What it does
Returns the int value of value, using the specified base for the conversion (the default is base 10). intval() should not be used on objects, as doing so will emit an E_WARNING level error and return 1.
Signature
intval(mixed $value, int $base = 10): int
Parameters
| Parameter | Type | What it takes |
|---|---|---|
| $value | mixed | The scalar value being converted to an integer |
| $base | int | The base for the conversion |
Return value
The integer value of value on success, or 0 on failure. Empty arrays return 0, non-empty arrays return 1. The maximum value depends on the system. 32 bit systems have a maximum signed integer range of -2147483648 to 2147483647. So for example on such a system, intval('1000000000000') will return 2147483647. The maximum signed integer value for 64 bit systems is 9223372036854775807. Strings will most likely return 0 although this depends on the leftmost characters of the string. The common rules of integer casting apply. Note: Numeric strings using scientific notation (containing the letter e or E) are first parsed as numbers before being converted to an integer. Because the numeric part of ...
Example
A runnable snippet:
echo intval(42), PHP_EOL; // 42 echo intval(4.7), PHP_EOL; // 4 echo intval('42'), PHP_EOL; // 42 echo intval('+42'), PHP_EOL; // 42 echo intval('-42'), PHP_EOL; // -42 echo intval(042), PHP_EOL; // 34 echo intval('042'), PHP_EOL; // 42 echo intval(1e10), PHP_EOL; // 10000000000 echo intval('1e10'), PHP_EOL; // 10000000000 echo intval(0x1A), PHP_EOL; // 26 echo intval('0x1A'), PHP_EOL; // 0 echo intval('0x1A', 0), PHP_EOL; // 26 echo intval('1A', 16), PHP_EOL; // 26 echo intval(42000000), PHP_EOL; // 42000000 echo intval(420000000000000000000), PHP_EOL; // -4275113695319687168 echo intval('420000000000000000000'), PHP_EOL; // 9223372036854775807 echo intval(42, 8), PHP_EOL; // 42 echo intval('42', 8), PHP_EOL; // 34 echo intval(42, 7), PHP_EOL; // 42 echo intval('42', 7), PHP_EOL; // 30 echo intval('1000', 11), PHP_EOL; // 1331 echo intval('1ya', 36), PHP_EOL; // 2530 echo intval(array()), PHP_EOL; // 0 echo intval(array('foo', 'bar')), PHP_EOL; // 1 echo intval(false), PHP_EOL; // 0 echo intval(true), PHP_EOL; // 1
Changelog
| Version | Change |
|---|---|
| 8.0.0 | The error level when converting from object was changed from E_NOTICE to E_WARNING. |
See also
boolval(), floatval(), strval(), settype(), is_numeric()
All PHP 8.5 built-in functions
Reference card built from the PHP manual page intval() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.