À l'aide de long int en PHP
Je suis en train de tout ça, mais je suis incapable de magasin de grande valeur
$var = rand(100000000000000,999999999999999);
echo $var; //prints a 9 digit value(largest possible)
Comment faire pour obtenir une valeur désirée ?
OriginalL'auteur Prashant Singh | 2011-12-27
Vous devez vous connecter pour publier un commentaire.
PHP ints sont généralement de 32 bits. D'autres paquets de fournir de haute précision ints: http://php.net/manual/en/language.types.integer.php
OriginalL'auteur Ned Batchelder
De la manuel:
BC Mathématiques et GMP sont la (seule?) façon de manipuler cette limitation.
OriginalL'auteur DaveRandom
Si vous avez besoin de travailler avec de très grands nombres, j'ai trouvé le succès avec la colombie-britannique en Mathématiques. Voici un lien pour tout ce que vous devez savoir:
http://php.net/manual/en/book.bc.php
OriginalL'auteur TimWickstrom.com
Si vous souhaitez générer le nombre et de les manipuler comme un type natif, vous ne pouvez pas avec la plupart des PHP installations (soit vous avez un 32 ou 64 bits
int
s et rien d'autre), que les autres réponses ont déjà déclaré. Cependant, si vous venez de générer un nombre et que vous souhaitez transmettre autour d'un possible astuce est de concaténer des chaînes de caractères:Sur une plate-forme en PHP qui utilise un entier de 32 bits, cela vous permet d'obtenir une proche de l'aléatoire entier (comme une chaîne de caractères) qui est plus grand que 32 bits ( > 10 décimales). Bien sûr, il y a un biais dans cette construction, ce qui signifie que vous ne couvrira pas tous les chiffres avec la même probabilité. Les limites de la
rand()
appels d'obéir à la normale décimal règles de sorte que son simple pour ajuster la limite supérieure du nombre que vous voulez.Si tout ce que vous avez à faire est de stocker/transmission/affichage de cette valeur, la chaîne sera très bien. L'égalité et de la plus/moins de tests. Il suffit de ne pas faire des maths avec elle.
OriginalL'auteur jeteon