php实现按照权重随机排序数据的方法
本文实例讲述了php实现按照权重随机排序数据的方法。分享给大家供大家参考。
具体实现方法如下:
<?php /** *@paramarray$weight权重 例如array('a'=>10,'b'=>20,'c'=>50) *@returnstringkey 键名 */ functionroll($weight=array()){ $roll=rand(1,array_sum($weight)); $_tmpW=0; $rollnum=0; foreach($weightas$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程序设计有所帮助。