您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)php該怎么生成100個(gè)不同的隨機(jī)數(shù),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
方法:1、定義一個(gè)空數(shù)組,用于放置隨機(jī)數(shù);2、利用“while(數(shù)組長(zhǎng)度<100)”控制循環(huán)次數(shù),保證數(shù)組最終中有100個(gè)數(shù);3、循環(huán)體中使用mt_rand()隨機(jī)生成數(shù)放入數(shù)組中,并利用array_flip()去重,保證隨機(jī)數(shù)唯一即可。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
php生成100個(gè)不同的隨機(jī)數(shù)
<?php /* * array unique_rand( int $min, int $max, int $num ) * 生成一定數(shù)量的不重復(fù)隨機(jī)數(shù) * $min 和 $max: 指定隨機(jī)數(shù)的范圍 * $num: 指定生成數(shù)量 */ function unique_rand($min, $max, $num) { $count = 0; $return = array(); while ($count < $num) { $return[] = mt_rand($min, $max); $return = array_flip(array_flip($return)); $count = count($return); } shuffle($return); return $return; } $arr = unique_rand(1, 1000, 100); sort($arr); $result = ''; for($i=0; $i < count($arr);$i++) { $result .= $arr[$i].','; } $result = substr($result, 0, -1); echo $result; ?>
輸出結(jié)果:
5,14,36,59,61,65,70,72,95,103,105,114,124,138,142,143,153,159,170,174,175,184,186,189,207,210,214,220,254,256,257,259,268,273,280,281,290,293,295,303,309,315,316,321,327,359,364,370,416,420,429,433,434,436,438,449,464,493,505,558,563,568,570,593,599,637,639,646,656,659,670,687,695,709,713,719,722,731,733,736,749,750,784,803,807,812,835,849,859,893,899,914,937,941,948,951,960,969,991,992
說(shuō)明:
mt_rand()
使用 Mersenne Twister 算法返回隨機(jī)整數(shù)。語(yǔ)法:
mt_rand(min,max)
返回 min 和 max之間的一個(gè)隨機(jī)整數(shù)。
array_flip()
函數(shù)用于反轉(zhuǎn)/交換數(shù)組中的鍵名和對(duì)應(yīng)關(guān)聯(lián)的鍵值。利用array_flip()函數(shù)我們可以去除數(shù)組中重復(fù)的元素。
只需要先使用array_flip()將鍵名和鍵值互換來(lái)移除重復(fù)值;然后再使用array_flip()重新將鍵名和鍵值調(diào)換回來(lái)即可
count()
函數(shù)返回?cái)?shù)組中元素的數(shù)目,即計(jì)算數(shù)組長(zhǎng)度。
關(guān)于php該怎么生成100個(gè)不同的隨機(jī)數(shù)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。