PHP:rand()或array_rand麻烦

时间:2015-09-06 22:37:21

标签: php random

result2.txt中的结果重复每100个字符串。 是的,相同的姓氏和相同的兰特(100000,999999)结果每100个值循环

NetBeans 8.0.2

//Get surname
$famtxt = file('surname.txt');
$surname = $famtxt[ array_rand($famtxt) ]; 
unset($famtxt); 

//Results
$result0=$surname.' '.rand(100000, 999999);                               
$resulttxt = fopen('result2.txt', 'a');
fwrite($resulttxt,$result0); 

2 个答案:

答案 0 :(得分:1)

永远不要使用rand,那里有更好的功能,即

http://php.net/manual/en/function.random-int.php

  

生成适合使用的加密随机整数   无偏见的结果至关重要(例如,改组扑克牌)。

http://php.net/manual/en/function.mt-rand.php

  

许多旧libcs​​的随机数生成器有可疑或未知   特点而且很慢。默认情况下,PHP使用libc随机   带有rand()函数的数字生成器。 mt_rand()函数是一个   直接替代这个。 它使用随机数生成器   使用»Mersenne Twister 的已知特征,将会   产生随机数比平均libc快四倍   rand()提供。

(我强调的重点)速度是一个很好的奖励,但使用MT的速度会给你“randomer”数字,而不仅仅是rand

答案 1 :(得分:0)

AWW! 伪随机生成器只是一个糟糕的NetBeans IDE 8.0.2问题。 脚本在服务器上运行良好