>  기사  >  백엔드 개발  >  PHP에서 100개의 서로 다른 난수를 생성하는 방법

PHP에서 100개의 서로 다른 난수를 생성하는 방법

青灯夜游
青灯夜游원래의
2021-09-30 16:01:213743검색

방법: 1. 빈 배열을 정의하여 난수를 배치합니다. 2. "while(배열 길이 <100)"을 사용하여 최종 배열에 100개의 숫자가 있도록 루프 수를 제어합니다. 루프 본문()에서 배열에 숫자를 무작위로 생성하고 array_flip()을 사용하여 중복 항목을 제거하여 난수가 고유한지 확인합니다.

PHP에서 100개의 서로 다른 난수를 생성하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

php는 100개의 서로 다른 난수를 생성합니다

<?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;
}
$arr = unique_rand(1, 1000, 100);
sort($arr);
$result = &#39;&#39;;
for($i=0; $i < count($arr);$i++)
{
  $result .= $arr[$i].&#39;,&#39;;
}
$result = substr($result, 0, -1);
echo $result;
?>

출력 결과:

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

지침:

mt_rand()는 Mersenne Twister 알고리즘을 사용하여 임의의 정수를 반환합니다. 구문: mt_rand() 使用 Mersenne Twister 算法返回随机整数。语法:

mt_rand(min,max)

返回 min 和 max之间的一个随机整数。

array_flip() 函数用于反转/交换数组中的键名和对应关联的键值。利用array_flip()函数我们可以去除数组中重复的元素。

只需要先使用array_flip()将键名和键值互换来移除重复值;然后再使用array_flip()重新将键名和键值调换回来即可

count()rrreee

최소값과 최대값 사이의 임의의 정수를 반환합니다.

array_flip() 이 함수는 배열의 키 이름과 해당 관련 키 값을 역전/교환하는 데 사용됩니다. array_flip() 함수를 사용하면 배열에서 중복된 요소를 제거할 수 있습니다.

array_flip()을 사용하여 키 이름과 키 값을 교체하여 중복 값을 제거한 다음 array_flip()을 사용하여 키 이름과 키 값을 다시 교체하세요🎜🎜count() 이 함수는 배열의 요소 수, 즉 배열의 길이를 반환합니다. 🎜🎜추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜

위 내용은 PHP에서 100개의 서로 다른 난수를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.