php实现按照权重随机排序数据的方法 |
本文实例讲述了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程序设计有所帮助 。 |