我想這一點,但我無法存儲大量的值在PHP
$var = rand(100000000000000,999999999999999);
echo $var; // prints a 9 digit value(largest possible)
如何獲得所需的值?
我想這一點,但我無法存儲大量的值在PHP
$var = rand(100000000000000,999999999999999);
echo $var; // prints a 9 digit value(largest possible)
如何獲得所需的值?
PHP int通常是32位。其他軟件包提供更高精度的整數:http://php.net/manual/en/language.types.integer.php
如果您需要使用非常大的數字,我發現BC Math的成功。這是一切的鏈接,你需要知道:
如果您想生成數字並作爲本機類型進行操作,那麼您不能使用大多數PHP安裝(或者您有32或64位int
s,而沒有其他),因爲其他答案已經說過。但是,如果你只是生成一個數字,想通過它繞在一個可能的提示是,連接字符串:
$var = rand(0,PHP_INT_MAX).str_pad(rand(0, 999999999), 9, 0, STR_PAD_LEFT);
echo $var;
在其中利用PHP使用一個32位整數的平臺,這可以讓你獲得近隨機整數(作爲字符串)大於32位(> 10位小數)。當然,這種結構存在偏差,這意味着您不會以相同的概率覆蓋所有數字。 rand()
調用的限制服從正常的十進制規則,所以它很容易調整你想要的數字的上限。
如果你正在做的是存儲/傳輸/顯示這個值,那麼字符串就會很好。平等和更大/更少的測試也將奏效。只是不要用它做任何數學。