(PHP 4, PHP 5, PHP 7, PHP 8)
intval — Get the integer value of a variable
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.
value
The scalar value being converted to an integer
base
The base for the conversion
Note:
If
base
is 0, the base used is determined by the format ofvalue
:
- if string includes a "0x" (or "0X") prefix, the base is taken as 16 (hex); otherwise,
- if string starts with "0", the base is taken as 8 (octal); otherwise,
- the base is taken as 10 (decimal).
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.
Version | Description |
---|---|
8.0.0 |
The error level when converting from object was changed from E_NOTICE to E_WARNING .
|
Example #1 intval() examples
The following examples are based on a 32 bit system.
<?php
echo intval(42); // 42
echo intval(4.2); // 4
echo intval('42'); // 42
echo intval('+42'); // 42
echo intval('-42'); // -42
echo intval(042); // 34
echo intval('042'); // 42
echo intval(1e10); // 1410065408
echo intval('1e10'); // 1
echo intval(0x1A); // 26
echo intval(42000000); // 42000000
echo intval(420000000000000000000); // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(42, 8); // 42
echo intval('42', 8); // 34
echo intval(array()); // 0
echo intval(array('foo', 'bar')); // 1
echo intval(false); // 0
echo intval(true); // 1
?>
Note:
The
base
parameter has no effect unless thevalue
parameter is a string.