>  기사  >  백엔드 개발  >  PHP의 무작위 정렬에 가중치 요소 추가

PHP의 무작위 정렬에 가중치 요소 추가

*文
*文원래의
2017-12-25 13:29:382108검색

많은 사람들이 PHP 무작위 정렬을 알고 있지만 가중치가 부여된 무작위 정렬을 구현하는 방법은 무엇입니까? 이번 글은 체중에 따라 무작위로 정렬된 데이터를 공유해드리오니 많은 분들께 도움이 되었으면 좋겠습니다.

구체적인 구현 방법은 다음과 같습니다:

<?php   
/**  
 * @param array $weight 权重  例如array(&#39;a&#39;=>10,&#39;b&#39;=>20,&#39;c&#39;=>50)  
 * @return string key   键名   
 */  
function roll($weight = array()) {   
 $roll = rand ( 1, array_sum ( $weight ) );   
 $_tmpW = 0;   
 $rollnum = 0;   
  foreach ( $weight as $k => $v ) {   
  $min = $_tmpW;   
   $_tmpW += $v;   
   $max = $_tmpW;   
   if ($roll > $min && $roll <= $max) {   
    $rollnum = $k;   
    break;   
   }   
 }   
  return $rollnum;   
}   
 
$row=roll(array(&#39;a&#39;=>10,&#39;b&#39;=>20,&#39;c&#39;=>50));   
echo $row;   
?>


관련 권장 사항:

PHP의 배열에 대한 세 가지 정렬 방법 php 빠른 정렬 php 정렬 알고리즘 php 정렬 기능

php 정렬 알고리즘 프로그램이 필요하지 않습니다. Recursion

PHP 공통 정렬 알고리즘 학습


위 내용은 PHP의 무작위 정렬에 가중치 요소 추가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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