# intval

(PHP 4, PHP 5, PHP 7, PHP 8)

intval — Obtiene 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(42, 8); // 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

- boolval() - Obtener el valor booleano de una variable
- floatval() - Obtener el valor flotante de una variable
- strval() - Obtiene el valor de cadena de una variable
- settype() - Establece el tipo de una variable
- is_numeric() - Comprueba si una variable es un número o un string numérico
- Manipulación de tipos
- Funciones matemáticas de precisión arbitraria de BCMath