PHP에서 고유 난수를 생성하는 방법
웹 애플리케이션, WAP, 모바일 애플리케이션 등 임의의 숫자가 자리를 잡습니다. 최근 접한 여러 소규모 프로젝트에서 난수나 난수 배열을 처리해야 하는 경우가 많았습니다. 따라서 PHP에서 반복되지 않는 난수를 생성하는 방법에 대한 몇 가지 일반적인 방법을 요약하겠습니다(ps: 방법 1, 4). , 그리고 5개는 제가 자주 사용하는 것이고 나머지는 인터넷에서 수집한 것입니다)
방법 1:
<span><?php $numbers = range (1,50); <span>//shuffle 将数组顺序随即打乱 </span> shuffle ($numbers); <span>//array_slice 取该数组中的某一段 </span> $num=6; $result = array_slice($numbers,0,$num); print_r($result); ?></span>
방법 2:
<span><?php $numbers = range (1,20); <span>//播下随机数发生器种子,可有可无,测试后对结果没有影响</span> srand ((<span>float</span>)microtime()*1000000); shuffle ($numbers); <span>//跳过list第一个值(保存的是索引)</span> <span>while</span> (<span>list</span>(, $number) = each ($numbers)) { <span>echo</span> <span>"$number "</span>; } ?></span>
방법 3:
<span><?php <span>function</span> NoRand($begin=0,$end=20,$limit=5){ $rand_array=range($begin,$end); shuffle($rand_array);<span>//调用现成的数组随机排列函数 </span> <span>return</span> array_slice($rand_array,0,$limit);<span>//截取前$limit个 </span> } print_r(NoRand()); ?></span>
위에서는 1~20 사이에서 5개의 고유 값을 무작위로 생성할 수 있습니다
방법 4:
<span><?php $tmp=<span>array</span>(); <span>while</span>(count($tmp)<5){ $tmp[]=mt_rand(1,20); $tmp=array_unique($tmp); } print_r($tmp); ?></span>
방법 5:
<span><?php $tmp = range(1,30); print_r(array_rand($tmp,10)); ?></span>
호출하는 것보다 더 간단할 수 있습니다(ps: 단계 크기가 범위에 지정된 경우 array_rand의 두 번째 매개변수가 $tmp의 길이를 초과하는지 주의해야 합니다).
위 내용은 관련 측면을 포함하여 PHP에서 반복되지 않는 난수를 생성하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.