请教一下,用PHP如何生成50万个不重复的8位阿拉伯数字?
发布网友
发布时间:2022-04-28 07:48
我来回答
共5个回答
热心网友
时间:2022-04-28 09:17
<?php
function singelRand(){
$chars="1234567890";
$string="";
for($i=0;$i<8;$i++){
srand((double)microtime()*1000000);
$rand=rand(0,strlen($chars)-1);
$string.=substr($chars,$rand,1);
}
return $string;
}
function proce50W(){
$count = 50000;
$result = array();
for($i=0;$i<$count;$i++){
array_push($result, singelRand());
}
return $result;
}
$a = proce50W();
print_r($a);
?>
热心网友
时间:2022-04-28 10:35
这个有点难度,下面的代码测试是通过的,测试时是500000数据按每一行为5个数字
代码如下,测试通过:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>测试数据</title>
</head>
<body>
<p>
<?
for($i=0; $i<=499999; $i++)
{
if($i%5==0){echo("<br>");}
?>
(<?=$i+1;?>) <?=rand(10000000,99999999);?>,
<?
}
?>
</p>
</body></html>
热心网友
时间:2022-04-28 12:10
答案:
<?php
$totail = 99999999;
for ($i =500000 ; $i >= 1; $i --)
{
echo $totail - $i;
echo "<br>";
}
?>
热心网友
时间:2022-04-28 14:01
$num = array();
for ($i = 10000000, $j = 0; $j < 500000; $i++, $j++) {
$num[] = $i;
}
$num里装了50W个数字。。
热心网友
时间:2022-04-28 16:09
50万啊,如果你只用一次的话很容易
<?php
set_time_limit(0);
$numbers = array();
for (var i = 10000000; i <= 99999999; i++) {
$numbers[] = i;
}
$rand_keys = array_rand($numbers, 500000);
foreach ($rand_keys as $value) {
echo $value . "<br />\n";
}