PHP에서 반복되지 않는 난수를 생성하는 방법: 먼저 range 함수를 사용하여 지정된 범위의 요소를 포함하는 배열을 만든 다음 shuffle 함수를 사용하여 배열의 요소를 무작위 순서로 재정렬하고 마지막으로 섹션을 제거합니다. 배열의 요소.
구현 원칙:
배열의 순서를 섞은 다음 배열의 특정 세그먼트를 가져옵니다.
(관련 영상 추천 : java 강좌)
방법은 다음과 같습니다.
방법 1:
range() 함수는 지정된 범위의 요소를 포함하는 배열을 생성합니다.
shuffle() 함수는 배열의 요소를 무작위 순서로 재정렬합니다.
<?php //range 是将1到100 列成一个数组 $numbers = range (1,100); //shuffle 将数组顺序随即打乱 shuffle ($numbers); //array_slice 取该数组中的某一段 $result = array_slice($numbers,0,3); print_r($result); ?>
방법 2:
<?php $numbers = range (1,20); srand ((float)microtime()*1000000); shuffle ($numbers); while (list (, $number) = each ($numbers)) { echo "$number "; } ?>
방법 3:
PHP를 사용하여 1~20 사이에서 5개의 고유 값을 무작위로 생성
<?php function NoRand($begin=0,$end=20,$limit=5){ $rand_array=range($begin,$end); shuffle($rand_array);//调用现成的数组随机排列函数 return array_slice($rand_array,0,$limit);//截取前$limit个 } print_r(NoRand()); ?>
또는 셔플하지 않는 경우
<?php $tmp=array(); while(count($tmp)<5){ $tmp[]=mt_rand(1,20); $tmp=array_unique($tmp); } print join(',',$tmp); ?>
관련 권장 사항: php training
위 내용은 PHP에서 반복되지 않는 난수를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!