이전 기사에서는 PHP에서 난수를 생성하는 방법을 소개했습니다. 개발이나 모바일 애플리케이션에서 PHP 난수는 필수적인 부분이라는 것을 우리 모두는 알고 있습니다. 난수를 다루면서 오늘은 PHP에서 비반복 난수를 생성하는 5가지 방법을 소개하겠습니다!
첫 번째 방법:
<?php $numbers = range (1,50); //shuffle 将数组顺序随即打乱 shuffle ($numbers); //array_slice 取该数组中的某一段 $num=6; $result = array_slice($numbers,0,$num); print_r($result); ?>
두 번째 방법
<?php $numbers = range (1,20); //播下随机数发生器种子,可有可无,测试后对结果没有影响 srand ((float)microtime()*1000000); shuffle ($numbers); //跳过list第一个值(保存的是索引) while (list(, $number) = each ($numbers)) { echo "$number "; } ?>
세 번째 방법
<?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~20
사이에서 5개의 반복되지 않는 PHP 난수를 생성할 수 있습니다. 네 번째 방법 <?php
$tmp=array();
while(count($tmp)<5){
$tmp[]=mt_rand(1,20);
$tmp=array_unique($tmp);
}
print_r($tmp);
?>
<?php
$tmp = range(1,30);
print_r(array_rand($tmp,10));
?>
이것보다 더 간단할 수도 있습니다(ps: 스텝 크기가 범위에 지정된 경우 array_rand의 두 번째 부분에 주의해야 합니다. 매개변수가 $의 길이를 초과하는지 여부 TMP).
요약: PHP는 매우 풍부한 배열 기능을 제공합니다. 대부분의 PHP 난수는 배열의 관점에서 생성될 수 있습니다. 물론 더 나은 방법이 있다면 도움이 될 것입니다. 이 글도 고려해 볼 수 있는 좋은 생각입니다.
관련 권장 사항:
위 내용은 PHP에서 반복되지 않는 난수를 생성하는 5가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!