溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php該怎么生成100個(gè)不同的隨機(jī)數(shù)

發(fā)布時(shí)間:2021-10-08 09:27:37 來(lái)源:億速云 閱讀:263 作者:柒染 欄目:編程語(yǔ)言

這篇文章將為大家詳細(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ò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

php
AI