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

Nota:

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ãoDescrição
8.0.0 O nível de erro na conversão de objeto mudou de E_NOTICE para E_WARNING.

Exemplos

Exemplo #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

Nota:

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

Veja Também

To Top