請教一下,用PHP如何產生50萬個不重複的8位阿拉伯數字。代碼怎麼樣寫?求協助?急。。求完整的代碼。自動斷行符號空行。。謝謝各位前輩。。
回複討論(解決方案)
for( $i = 0 ; $i < 500000; $i++)
for( $i = 10000000 ; $i < 10500000; $i++)
for( $i = 10000000 ; $i < 10500000; $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 < 10500000; $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<500000;……
瞬間就卡死了 ,不過可以解決要求,哈哈
引用 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<500000;……
鬱悶了。。我的PHP版本問題?Call-time pass-by-reference has been removed!!!
rand_num(&$num)
改作
rand_num($num);
php 5.3 起,不能顯式的傳遞引用
況且你代碼的寫法本身就不經合理
2樓的最大隻能是1049999,顯然不符合要求。
4樓的可以。 你少寫了一位吧