intval
Get the integer value of a variable
Description
int intval(mixed $value
, int $base
= 10)
Parameters
-
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 of value
:
-
if string includes a "0x" (or "0X") prefix, the base is taken
as 16 (hex); otherwise,
-
if string starts with a "0b" (or "0B"), the base is taken
as 2 (binary); otherwise,
-
if string starts with "0", the base is taken as 8 (octal);
otherwise,
-
the base is taken as 10 (decimal).
Return Values
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.
Examples
Example #1 intval examples
The following examples are based on a 64 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); // 10000000000
echo intval('1e10'); // 10000000000
echo intval(0x1A); // 26
echo intval('0x1A'); // 0
echo intval('0x1A', 0); // 26
echo intval(42000000); // 42000000
echo intval(420000000000000000000); // -4275113695319687168
echo intval('420000000000000000000'); // 9223372036854775807
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
?>
Notes
Note:
The base
parameter has no effect unless the
value
parameter is a string.