【发布时间】:2015-09-06 22:37:20
【问题描述】:
result2.txt 中的结果每 ~100 个字符串重复一次。 是的,相同的姓氏和相同的 rand(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);
【问题讨论】:
-
@DeDee 听起来 OP 说他的“随机”结果每 100 个值左右循环一次,这通常不是您在生成随机数时想要的。
-
@Ярослав 好的,您能否以任何方式稍微修改您的问题,以便我可以删除我的反对票?
-
@DeDee,完成。对不起,我的英语不太好,但不知道比stackoverflow更好的网站
-
我刚刚执行了
for ($i=1; $i<=10000; $i++) echo rand(100000, 999999)."<br />",10000 个结果中只有 45 个是重复的。 -
@DeDee 使用 mt_rand(100000, 999999);相反,您将在 10000 个中得到 0 个重复项:p ++$i 也比 $i++ 快。不,php 不够聪明,无法为您自动优化(与大多数其他语言不同) - 这是一个测试脚本 - pastebin.com/11qJu0k7