>백엔드 개발 >PHP 문제 >PHP에서 반복되지 않는 난수를 생성하는 방법은 무엇입니까

PHP에서 반복되지 않는 난수를 생성하는 방법은 무엇입니까

coldplay.xixi
coldplay.xixi원래의
2020-11-02 14:08:522418검색

PHP에서 반복되지 않는 난수를 생성하는 방법: 먼저 배열의 순서를 섞은 다음 배열의 특정 섹션을 가져옵니다. 코드는 [$numbers = range (1,50); $result = array_slice($numbers..].

PHP에서 반복되지 않는 난수를 생성하는 방법은 무엇입니까

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

웹 애플리케이션이든, 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()); 
?>

위에서는 5개의 non을 무작위로 생성할 수 있습니다. -1~20 사이의 값을 반복

방법 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으로 문의하세요.