本文实例讲述了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程序设计有所帮助。