135 votes

Quelle est la taille maximum pour un int en PHP?

Ignorant les bibliothèques spécialisées qui vous permettent de travailler avec de très grands nombres, ce qui est le plus int vous pouvez stocker dans le PHP?

141voto

karim79 Points 178055

À partir du manuel PHP:

La taille d'un entier est dépend de la plateforme, bien qu'un maximum valeur d'environ deux milliards de dollars est le d'habitude (valeur 32 bits signés). PHP ne supporte pas non signé les nombres entiers. Entier la taille peut être déterminée à l'aide de la constante PHP_INT_SIZE, et le maximum de valeur à l'aide de la constante PHP_INT_MAX depuis PHP 4.4.0 et PHP 5.0.5.

97voto

thomasrutter Points 42905

32-bit versions de PHP:

  • Les nombres entiers peuvent être de -2147483648 à 2147483647

64-bit versions de PHP:

  • Les nombres entiers peuvent être de -9223372036854775808 à 9223372036854775807

Les numéros sont inclus.

Des valeurs en dehors de ces plages sont habituellement représentés par des valeurs à virgule flottante, comme le sont les valeurs non entières à l'intérieur de ces fourchettes.

Il y a quelques autres inhabituel différences entre les versions 32 bits et les versions 64 bits. Par exemple, sur un 32 bits construire le crc32() fonction inclut résultant des valeurs au-dessus de 2 147 483 647 à devenir des entiers négatifs, alors que sur les versions 64 bits valeurs obtenues ci-dessus sont 2147483647 gauche positif. Cela signifie que la sortie de crc32() est incompatible entre 32 bits et les versions 64 bits, sauf si vous faites un peu de correction sur le résultat par la suite.

PHP n'a pas de support pour les "non signé" entiers en tant que tel.

24voto

cletus Points 276888

La taille de PHP ints est dépendants de la plateforme:

La taille d'un entier est dépend de la plateforme, bien qu'un maximum valeur d'environ deux milliards de dollars est le d'habitude (valeur 32 bits signés). PHP ne supporte pas non signé les nombres entiers. Entier la taille peut être déterminée à l'aide de la constante PHP_INT_SIZE, et le maximum de valeur à l'aide de la constante PHP_INT_MAX depuis PHP 4.4.0 et PHP 5.0.5.

PHP 6 ajoute "longs" (64 bits ints).

17voto

Julien CROUZET Points 354

(un peu en retard, mais pourrait être utile)

Seule la confiance PHP_INT_MAX et PHP_INT_SIZE, cette valeur varie sur votre arc (32/64 bits) et votre système d'exploitation...

Toute autre "deviner" ou "conseil" peut être faux.

2voto

Bryson Points 356

Cela dépend de votre système d'exploitation, mais 2147483647 est la valeur habituelle, selon le manuel.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X