>  기사  >  백엔드 개발  >  PHP에서 반복되지 않는 난수를 생성하는 방법 요약

PHP에서 반복되지 않는 난수를 생성하는 방법 요약

怪我咯
怪我咯원래의
2017-07-09 09:25:271105검색

이 기사에서는 반복되지 않는 난수를 생성하는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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