intval

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

intvalObtém o valor em número inteiro de uma variável

Descrição

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

Retorta o valor do tipo int do parâmetro value, usando a base especificada para a conversão (o padrão é base 10). intval() não deve ser usada em objetos, se isto for feito emitirá um erro de nível E_WARNING e retornará 1.

Parâmetros

value

O valor escalar a ser convertido para um número inteiro

base

A base para conversão

Note:

Se base for 0, a base usada será determinada pelo formado de value:

  • se a string incluir um prefixo "0x" (ou "0X"), a base será 16 (hexadecimal); senão,
  • se a string começar com um "0b" (ou "0B"), a base será 2 (binária); senão,
  • sea string começar com "0", a base será 8 (octal); senão,
  • a base será 10 (decimal).

Valor Retornado

O valor inteiro de value em caso de sucesso ou 0 em caso de falhar. Arrays vazios retornam 0, arrays não vazios retornam 1.

O valor máximo depende do sistema. Sistemas de 32 bits têm uma faixa inteiros com sinal de -2147483648 to 2147483647. Então, por exemplo, em um sistema desses, intval('1000000000000') retornará 2147483647. O máximo inteiro com sinal para sistemas de 64 bits é 9223372036854775807.

Strings na maior parte das vezes retornarão 0 embora isso dependa do caractere mais à esquerda dele da string. As regras comuns à conversão para inteiros se aplicam.

Registro de Alterações

Versão Descrição
8.0.0 O nível de erro na conversão de objeto mudou de E_NOTICE para E_WARNING.

Exemplos

Example #1 Exemplos de intval()

Os seguintes exemplos são baseados em um sistema de 64 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);                    // 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
?>

Notas

Note:

O parâmetro base não terá efeito a menos que o parâmetro value seja uma string.

Veja Também