Devuelve el valor entero equivalente de una variable

# intval

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

intval — Devuelve el valor entero equivalente de una variable

### Descripción

function intval(mixed `$value`, int `$base` = 10): int

Devuelve el valor int de `value` utilizando la `base` proporcionada para la conversión (por omisión en base 10). intval() no debería ser utilizada con objetos; en estos casos, se emitirá un error de nivel `E_WARNING` y la función devolverá 1.

### Parámetros

`value`

  El valor escalar a ser convertido en entero

`base`

  La base para la conversión

  > Nota:

  > Si `base` es 0, la base utilizada se determina por el formato del parámetro `value`:

  > - si la cadena incluye un prefijo "0x" (o "0X"), la base tomada será 16 (hex); de lo contrario,
  > - si la cadena comienza por "0b" (o "0B"), la base tomada será 2 (binario); de lo contrario,
  > - si la cadena comienza por "0", la base tomada será 8 (octal); de lo contrario,
  > - la base tomada será 10 (decimal).

### Valores devueltos

Un valor de tipo int de `value` en caso de éxito o 0 en caso de fallo. Los arrays vacíos devuelven 0, los arrays no vacíos devuelven 1.

El valor máximo depende del sistema. Los sistemas de 32 bits tienen un valor entero signado máximo de -2147483648 a 2147483647. Por lo tanto, por ejemplo, en un sistema similar, `intval('1000000000000')` devolverá 2147483647. El valor entero signado máximo para un sistema de 64 bits es 9223372036854775807.

Las cadenas de caracteres devuelven la mayoría de las veces 0, esto depende de los caracteres en el extremo izquierdo de la cadena. La regla común del moldeado de enteros se aplica.

> Nota: Las cadenas numéricas que utilizan notación científica (que contienen la letra `e` o `E`) se analizan primero como números antes de ser convertidas a entero. Dado que la parte numérica de la cadena se analiza en su totalidad, el resultado no es simplemente la parte entera inicial. Además, los exponentes grandes pueden desbordarse hasta `PHP_INT_MAX`:

>     <?php
>     echo intval('42.42e42'); // 9223372036854775807 en sistemas de 64 bits
>     ?>

> Véase Cadenas numéricas para obtener detalles sobre cómo se interpretan estas cadenas.

### Historial de cambios

Versión | Descripción
--- | ---
8.0.0 | El nivel de error al convertir desde un objeto ha sido modificado de `E_NOTICE` a `E_WARNING`.

### Ejemplos

Ejemplo #1 Ejemplos con intval()

Los ejemplos siguientes están basados en un sistema de 64 bits.

    <?php
    echo intval(42), PHP_EOL;                      // 42
    echo intval(4.7), PHP_EOL;                     // 4
    echo intval('42'), PHP_EOL;                    // 42
    echo intval('+42'), PHP_EOL;                   // 42
    echo intval('-42'), PHP_EOL;                   // -42
    echo intval(042), PHP_EOL;                     // 34
    echo intval('042'), PHP_EOL;                   // 42
    echo intval(1e10), PHP_EOL;                    // 10000000000
    echo intval('1e10'), PHP_EOL;                  // 10000000000
    echo intval(0x1A), PHP_EOL;                    // 26
    echo intval('0x1A'), PHP_EOL;                  // 0
    echo intval('0x1A', 0), PHP_EOL;               // 26
    echo intval(42000000), PHP_EOL;                // 42000000
    echo intval(420000000000000000000), PHP_EOL;   // -4275113695319687168
    echo intval('420000000000000000000'), PHP_EOL; // 9223372036854775807
    echo intval(42, 8), PHP_EOL;                   // 42
    echo intval('42', 8), PHP_EOL;                 // 34
    echo intval(array()), PHP_EOL;                 // 0
    echo intval(array('foo', 'bar')), PHP_EOL;     // 1
    echo intval(false), PHP_EOL;                   // 0
    echo intval(true), PHP_EOL;                    // 1
    ?>

### Notas

> Nota:

> El parámetro `base` no tiene ningún efecto a menos que el parámetro `value` sea una string.

### Ver también

- boolval() - Obtiene el valor booleano de una variable
- floatval() - Convierte una cadena en un número de punto flotante
- strval() - Obtiene el valor de una variable en formato string
- settype() - Asigna un tipo a una variable
- is_numeric() - Determina si una variable es un número o una cadena numérica
- Definición del tipo
- Números grandes BCMath

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open