(PHP 4, PHP 5, PHP 7)
intval — Obtiene el valor entero de una variable
Devuelve el valor integer de una var
,
con la especificada base
para la conversión
(por defecto es base 10). No debería ser usado en objetos, si es usado
emitirá un error de nivel E_NOTICE
y devolverá 1.
var
El valor escalar a convertir a un entero
base
La base para la conversión
Nota:
Si
base
es 0, la base usada estará determinada por el formato devar
:
- si el string incuye el prefijo "0x" (o "0X"), la base se tomará como 16 (hex); si no,
- si el string comienza con "0", la base se tomará como 8 (octal); si no,
- la base se toma como 10 (decimal).
El valor entero de var
en caso de éxito, o 0 en
caso de error. Arrays vacíos devuelven 0, arrays no vacíos devuelven 1.
El valor máximo depende del sistema. Los sistemas de 32 bits tienen un rango máximo para un entero con signo que va desde -2147483648 a 2147483647. Así, por ejemplo, en tal sistema, intval('1000000000000') devolverá 2147483647. El valor máximo para un entero con signo en sistemas de 64 bits es 9223372036854775807.
Las cadenas muy probablemente devolverán 0, aunque esto depende de los carácteres del extremo izquierdo de la cadena. Aplican las reglas comunes para moldeado de enteros.
Ejemplo #1 Ejemplos de intval()
Los siguientes ejemplos se basan en un sistema de 32 bits.
<?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
?>
Nota:
El parámetro
base
no tiene ningún efecto a menos que el parámetrovar
sea una cadena.
Versión | Descripción |
---|---|
5.1.0 |
Lanza E_NOTICE y
devuelve 1, cuando se pasa un objecto a
var .
|