Ignorando las bibliotecas especiales que le permiten trabajar con números muy grandes, ¿cuál es la int más grande que puede almacenar en PHP?¿Cuál es el tamaño máximo para una int en PHP?
Respuesta
Desde el PHP manual:
El tamaño de un entero es dependiente de la plataforma, aunque un valor máximo de aproximadamente dos mil millones es el valor usual (que es de 32 bits con signo). PHP no admite enteros sin signo. El tamaño entero puede ser determinado usando la constante PHP_INT_SIZE, y el valor máximo usando la constante PHP_INT_MAX desde PHP 4.4.0 y PHP 5.0.5.
Las plataformas de 64 bits generalmente tienen un valor máximo de aproximadamente 9E18, excepto en Windows antes de PHP 7, donde siempre era de 32 bits.
Ah I encontró: 2 - 1 (2147483647)
Desbordamiento de enteros
Si PHP se encuentra con un número más allá de los límites del tipo entero, se interpretará como un flotador en su lugar. Además, una operación que da como resultado un número más allá de los límites del tipo entero devolverá una flotación en su lugar.
<?php
$large_number = 2147483647;
var_dump($large_number);
// output: int(2147483647)
$large_number = 2147483648;
var_dump($large_number);
// output: float(2147483648)
Esto es lo que sería en una plataforma de 32 bits. Considere también que muchas personas ejecutan servidores en una plataforma de 64 bits. – thomasrutter
El tamaño de enteros PHP es platform dependent:
El tamaño de un entero es dependiente de la plataforma, aunque un valor máximo de aproximadamente dos mil millones es el valor usual (que es 32 bits firmados). PHP no admite enteros sin signo. El tamaño entero puede ser determinado usando la constante PHP_INT_SIZE, y el valor máximo usando la constante PHP_INT_MAX desde PHP 4.4.0 y PHP 5.0.5.
PHP 6 agrega "longs" (64 bit ints).
no obtengo estos votos negativos ... esta es una respuesta perfectamente buena, incluso con algo de información adicional. +1 para corregirlo. – nickf
Esta respuesta originalmente decía "plataforma * en * dependiente" (no dependiente). También (aún) afirma que las entradas de 64 bits no existían antes de PHP 6. Esto es falso. – thomasrutter
Depende de su sistema operativo, pero 2147483647 es el valor habitual, de acuerdo con manual.
Específicamente, depende de si se está ejecutando en una plataforma de 32 bits o de 64 bits. 32 bits es solo "habitual" en un mundo donde la mayoría de las personas ejecuta servidores de 32 bits. Cada vez más, este no es el caso. – thomasrutter
32-bit construye de PHP:
- Los enteros pueden ser de -2147483648 a (~ y plusmn; 2 mil millones)
64-bit construcciones de PHP:
- Los enteros pueden ser de -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 (~ y plusmn; 9 trillones)
Los números son inclusivos.
Nota: Algunos de 64 bits construye una vez utilizado enteros de 32 bits, en particular mayor de Windows construye de PHP
Los valores fuera de estos rangos son representados por los valores de punto flotante, como son valores no enteros dentro de estos rangos. El intérprete determinará automáticamente cuándo debe pasar este cambio a coma flotante en función de si el valor de resultado de un cálculo no se puede representar como un número entero.
PHP no tiene soporte para enteros "sin signo" como tales, limitando el valor máximo de todos los enteros al rango de un entero "firmado".
(un poco tarde, pero podría ser útil)
sólo confianza PHP_INT_MAX and PHP_INT_SIZE, este valor varía en su arco (32/64 bits) y su sistema operativo ...
Cualquier otro "adivinar" o "sugerencia" puede ser falso.
- 1. Cuál es el tamaño máximo de int (10) en Mysql
- 2. ¿Cuál es el tamaño máximo para una cadena en C#?
- 3. ¿Cuál es el tamaño máximo de Web.config?
- 4. Tamaño máximo de una sesión PHP
- 5. ¿Cargar el tamaño máximo en PHP?
- 6. ¿Cuál es el tamaño máximo de un ItemView en EWS?
- 7. Cuál es el tamaño máximo de un Node.js Buffer
- 8. ¿Cuál es el tamaño máximo de los metadatos JPEG?
- 9. Cuál es el tamaño máximo de la textura (Andengine)
- 10. Tamaño máximo para StringBuffer
- 11. ¿Cuál es el tamaño de un bool en PHP?
- 12. PHP - Tamaño máximo de carga total?
- 13. ¿Cuál es el tamaño máximo que se puede establecer en maxReceivedMessageSize para NetNamedPipeBinding?
- 14. ¿Cuál es el tamaño máximo que puede contener una variable de sesión?
- 15. ¿Cuál es el tamaño máximo que podemos dar para nvarchar en sqlite?
- 16. ¿Cuál es el tamaño máximo de una clave principal en Firebird?
- 17. ¿Cuál es el límite de tamaño para una clase?
- 18. PHP: ¿las matrices tienen un tamaño máximo?
- 19. ¿Cuál es el rango máximo de varchar en MySQL?
- 20. ¿Cuál es el tamaño máximo para un valor de preferencia compartido de Android?
- 21. ¿Cuál es el tamaño de textura máximo disponible en el iPad?
- 22. ¿Cuál es el tamaño máximo predeterminado para un caché de Google Guava?
- 23. MySQL ¿cuál es el tamaño máximo de una base de datos?
- 24. ¿Cuál es el tamaño óptimo para una aplicación de Android?
- 25. ¿Cuál es el tamaño de una enumeración en C?
- 26. tamaño máximo en BlobProperty (appengine)
- 27. ¿Cuál es el tamaño máximo de la base de datos SQLite en Android?
- 28. ¿Cuál es el valor entero máximo en Flex?
- 29. ¿Cuál es el equivalente de Varchar (máximo) para DB2?
- 30. Tiempo máximo() | PHP
Bueno, en amd64 linux, que es bastante común hoy en día, es 9223372036854775807 (2^63-1) – derobert
Eso es un montón de dígitos: hay la primera razón por la que se me ocurre elegir AMD sobre Intel al comprar un servidor dedicado. :) – karim79
@ karim79, creo que es debido a que el arco es de 64 bits, no es AMD. =] – strager