Ignorando as bibliotecas especiais que permitem que você trabalhe com números muito grandes, qual é o maior valor int que você pode armazenar no PHP?
117
O tamanho de um inteiro depende da plataforma, embora um valor máximo de cerca de dois bilhões seja o valor normal (são 32 bits com sinal). PHP não suporta números inteiros sem sinal. O tamanho do inteiro pode ser determinado usando a constante PHP_INT_SIZE, e o valor máximo usando a constante PHP_INT_MAX desde o PHP 4.4.0 e PHP 5.0.5.
As plataformas de 64 bits geralmente têm um valor máximo de cerca de 9E18, exceto no Windows anterior ao PHP 7, onde era sempre de 32 bits.
Compilações de PHP de 32 bits:
Compilações de PHP de 64 bits:
Os números são inclusivos.
Nota: algumas compilações de 64 bits já usaram inteiros de 32 bits, particularmente compilações do Windows mais antigas de PHP
Valores fora desses intervalos são representados por valores de ponto flutuante, pois são valores não inteiros dentro desses intervalos. O interpretador determinará automaticamente quando essa mudança para o ponto flutuante precisa acontecer com base no fato de o valor do resultado de um cálculo não poder ser representado como um inteiro.
PHP não tem suporte para inteiros "sem sinal" como tal, limitando o valor máximo de todos os inteiros ao intervalo de um inteiro "assinado".
fonte
O tamanho dos ints PHP depende da plataforma :
PHP 6 adiciona "longs" (ints de 64 bits).
fonte
(um pouco tarde, mas pode ser útil)
Confie apenas em PHP_INT_MAX e PHP_INT_SIZE , este valor varia no seu arco (32/64 bits) e no seu SO ...
Qualquer outro "palpite" ou "dica" pode ser falso.
fonte
Ah eu encontrei: 2 32 - 1 (2147483647)
http://au2.php.net/int
fonte
Depende do seu SO, mas 2147483647 é o valor normal, de acordo com o manual .
fonte
Embora as
PHP_INT_*
constantes existam por um longo tempo, os mesmos valores MIN / MAX podem ser encontrados programaticamente deslocando para a esquerda até atingir o número negativo:fonte
Está sujeito à arquitetura do servidor no qual o PHP é executado. Para 64 bits,
print PHP_INT_MIN . ", ” . PHP_INT_MAX;
rendimentos-9223372036854775808, 9223372036854775807
fonte