>백엔드 개발 >PHP 튜토리얼 >PHP에서 반복되지 않는 난수를 생성하는 5가지 방법

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

黄舟
黄舟원래의
2017-11-10 14:15:3711943검색

이전 기사에서는 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에서 난수를 생성하는 방법


PHP 난수


php 난수 WeChat 빨간 봉투 무작위 생성 알고리즘 PHP 버전

위 내용은 PHP에서 반복되지 않는 난수를 생성하는 5가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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