我想使用PHP生成一个包含75个字符的数字。
我到处搜索,什么都没有,除了这个:http://dailycoding.com/tools/RandomNumber.aspx
我不认为从该页面抓取它是有效的。
我试过的是:
rand(1,9999999999999999999999999999999999999);
答案 0 :(得分:6)
试试这个
function bigNumber() {
# prevent the first number from being 0
$output = rand(1,9);
for($i=0; $i<74; $i++) {
$output .= rand(0,9);
}
return $output;
}
答案 1 :(得分:2)
function genRandomNumber($length = 15, $formatted = true) {
$nums = '0123456789';
// First number shouldn't be zero
$out = $nums[mt_rand( 1, strlen($nums)-1 )];
// Add random numbers to your string
for ($p = 0; $p < $length-1; $p++)
$out .= $nums[mt_rand( 0, strlen($nums)-1 )];
// Format the output with commas if needed, otherwise plain output
if ($formatted)
return number_format($out);
return $out;
}
echo genRandomNumber(); // 7,825,104,236
echo genRandomNumber(14,false); // 11648596961188
echo genRandomNumber(25); // 7,154,062,783,835,742,231,986,176
答案 2 :(得分:0)
PHP的rand()函数在某些平台上可能只有15位,因此它一次只能用于4位数。但是因为实际上并不需要总数的数值,所以调用rand(0,9999)来获得一个4位数值,将其转换为字符串(你将在它前面连接“000”然后使用substr()修剪为4个字符以获得前导零,并一次向一个大字符串添加4个字符。
答案 3 :(得分:0)
这是不可能的,因为,使用PHP 64位生成的最大整数是9223372036854775807.最大的PHP 32位是2147483647.
您可以在PHP documentation上看到大部分信息。
如果你想要一个等价物,你可以生成一个字符串,但不能操纵你的整数。
答案 4 :(得分:-3)
你去......
function genRandomString($length = 75) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyz';
$string = '';
for ($p = 0; $p < $length; $p++) {
$string .= $characters[mt_rand(0, strlen($characters))];
}
return $string;
}