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에서 지정된 범위 내에서 고유 번호를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!