日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

php如何生成指定范围内的不重复数字

發布時間:2023/12/24 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 php如何生成指定范围内的不重复数字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

php生成指定范圍內的不重復數字的方法:首先通過mt_rand()函數來生成隨機數;然后通過array_flip()函數去除重復數字即可。array_flip()函數用于反轉數組中的鍵名和對應關聯的鍵值。

函數介紹:

(推薦教程:php教程)

mt_rand() 函數使用 Mersenne Twister 算法生成隨機整數。介于 min(或 0)與 max(或 mt_getrandmax())之間(包括邊界值)的隨機整數。如果 max < min 則返回 FALSE。

提示:該函數是產生隨機值的更好選擇,返回結果的速度是 rand() 函數的 4 倍。

array_flip() 函數用于反轉/交換數組中的鍵名和對應關聯的鍵值。如果反轉成功,則返回反轉后的數組。如果反轉失敗,則返回 NULL。

代碼實現:

<?php
/*
* array unique_rand( int $min, int $max, int $num )
* 生成一定數量的不重復隨機數,指定的范圍內整數的數量必須
* 比要生成的隨機數數量大
* $min 和 $max: 指定隨機數的范圍
* $num: 指定生成數量
*/
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;
}

//生成10個1到100范圍內的不重復隨機數
$arr = unique_rand(1, 100, 10);
echo implode($arr, ",");
?>

程序運行結果:

48,5,19,36,63,72,82,77,46,16

總結

以上是生活随笔為你收集整理的php如何生成指定范围内的不重复数字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。