如何生成非固定长度的大随机数? (例如在MySQL的bigint范围内)。 mt_rand()
函数不支持如此大的数字。
答案 0 :(得分:0)
使用多个随机函数:
const max_limit=10000;
a=mt_rand()*max_limit*max_limit + mt_rand()*max_limit + mt_rand();
答案 1 :(得分:0)
MySQL的BIGINT大8字节。让我们假设一个未签名的BIGINT。
echo unpack('H*', mcrypt_create_iv(8))[1];
或php版本< 5.4不支持函数数组解除引用
echo current(unpack('H*', mcrypt_create_iv(8)));
见:
http://docs.php.net/function.mcrypt-create-iv
http://docs.php.net/function.pack