intval

(PHP 4, PHP 5, PHP 7)

intvalObtiene el valor entero de una variable

Descripción

intval ( mixed $var [, int $base = 10 ] ) : int

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.

Parámetros

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 de var:

  • 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).

Valores devueltos

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.

Ejemplos

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(428);                   // 42
echo intval('42'8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo''bar'));     // 1
?>

Notas

Nota:

El parámetro base no tiene ningún efecto a menos que el parámetro var sea una cadena.

Historial de cambios

Versión Descripción
5.1.0 Lanza E_NOTICE y devuelve 1, cuando se pasa un objecto a var.

Ver también