Home  >  Article  >  Backend Development  >  请教一下,用PHP如何生成50万个不重复的8位阿拉伯数字?

请教一下,用PHP如何生成50万个不重复的8位阿拉伯数字?

WBOY
WBOYOriginal
2016-06-23 14:02:281103browse

请教一下,用PHP如何生成50万个不重复的8位阿拉伯数字。代码怎么样写?求帮助?急。。求完整的代码。自动回车空行。。谢谢各位前辈。。


回复讨论(解决方案)

for( $i = 0 ; $i 

for( $i = 10000000 ; $i 

for( $i = 10000000 ; $i  你也来这里??你不是经常混水区的吗。。。。。

你是干php的?好奇而己。。。。。

function rand_num(&$num){	$n = rand(10000000,99999999);	if(in_array($n,$num))	{		rand_num(&$num);	}	return $n;}for($i=0;$i<500000;$i++){	$num[] = rand_num(&$num);}print_r($num);

引用 2 楼 xming4321 的回复:for( $i = 10000000 ; $i  你也来这里??你不是经常混水区的吗。。。。。

你是干php的?好奇而己。。。。。 我是派黄片的

2楼的最大只能是1049999,显然不符合要求。
4楼的可以。

4楼的慢不慢的?

PHP code?1234567891011121314function rand_num(&$num){    $n = rand(10000000,99999999);    if(in_array($n,$num))    {        rand_num(&$num);    }    return $n;}for($i=0;$i 瞬间就卡死了 ,不过可以解决要求,哈哈

引用 4 楼 zhangbin1988 的回复:PHP code?1234567891011121314function rand_num(&$num){    $n = rand(10000000,99999999);    if(in_array($n,$num))    {        rand_num(&$num);    }  ……
你要循环50W 能不慢嘛?

PHP code?1234567891011121314function rand_num(&$num){    $n = rand(10000000,99999999);    if(in_array($n,$num))    {        rand_num(&$num);    }    return $n;}for($i=0;$i
郁闷了。。我的PHP版本问题?Call-time pass-by-reference has been removed!!!

rand_num(&$num)
改作
rand_num($num);

php 5.3 起,不能显式的传递引用

况且你代码的写法本身就不经合理

2楼的最大只能是1049999,显然不符合要求。
4楼的可以。 你少写了一位吧

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn