많은 사람들이 PHP 무작위 정렬을 알고 있지만 가중치가 부여된 무작위 정렬을 구현하는 방법은 무엇입니까? 이번 글은 체중에 따라 무작위로 정렬된 데이터를 공유해드리오니 많은 분들께 도움이 되었으면 좋겠습니다.
구체적인 구현 방법은 다음과 같습니다:
<?php /** * @param array $weight 权重 例如array('a'=>10,'b'=>20,'c'=>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('a'=>10,'b'=>20,'c'=>50)); echo $row; ?>
관련 권장 사항:
PHP의 배열에 대한 세 가지 정렬 방법 php 빠른 정렬 php 정렬 알고리즘 php 정렬 기능
php 정렬 알고리즘 프로그램이 필요하지 않습니다. Recursion
위 내용은 PHP의 무작위 정렬에 가중치 요소 추가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!