이 기사에서는 반복되지 않는 난수를 생성하는 5가지 방법을 요약합니다. 방법 1, 2, 3은 제가 일반적으로 사용하는 방법입니다. 방법 4와 5는 사용하기 쉽습니다. 여전히 다른 방법이 있으며 누락된 방법에 대해 모두가 알려주시면 함께 발전할 수 있습니다.
웹 애플리케이션이든, WAP이든, 모바일 애플리케이션이든, 임의의 숫자가 자리를 잡습니다. 최근에 접한 여러 소규모 프로젝트에서 난수나 난수 배열을 처리해야 하는 경우가 많습니다. 따라서 PHP에서 반복되지 않는 난수를 생성하는 몇 가지 일반적인 방법을 요약하겠습니다.
방법 1:
코드는 다음과 같습니다.
<?php $numbers = range (1,50); //shuffle 将数组顺序随即打乱 shuffle ($numbers); //array_slice 取该数组中的某一段 $num=6; $result = array_slice($numbers,0,$num); print_r($result); ?>
방법 2:
코드는 다음과 같습니다.
<?php $numbers = range (1,20); //播下随机数发生器种子,可有可无,测试后对结果没有影响 srand ((float)microtime()*1000000); shuffle ($numbers); //跳过list第一个值(保存的是索引) while (list(, $number) = each ($numbers)) { echo "$number "; } ?>
방법 3:
코드는 다음과 같습니다.
<?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()); ?>
위 작업은 1~2개의 0개 방에서 가능합니다. 반복되지 않는 값 5개를 무작위로 생성합니다.
방법 4:
코드는 다음과 같습니다.
<?php $tmp=array(); while(count($tmp)<5){ $tmp[]=mt_rand(1,20); $tmp=array_unique($tmp); } print_r($tmp); ?>
방법 5:
코드는 다음과 같습니다. 다음과 같습니다:
<?php $tmp = range(1,30); print_r(array_rand($tmp,10)); ?>
더 간단할 수 있습니다(ps: 범위 내에 있는 경우 단계 크기를 지정할 때 array_rand의 두 번째 매개변수가 $tmp의 길이를 초과하는지 주의해야 합니다).
PHP는 매우 풍부한 배열 기능을 제공합니다. 물론, 더 나은 방법이 있으면 이 문서를 소개로 간주할 수 있습니다.
위 내용은 PHP에서 반복되지 않는 난수를 생성하는 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!