当前位置: 首页 > 编程笔记 >

php实现按照权重随机排序数据的方法

子车凌龙
2023-03-14
本文向大家介绍php实现按照权重随机排序数据的方法,包括了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程序设计有所帮助。

 类似资料:
  • 本文向大家介绍php+mysql实现数据库随机重排实例,包括了php+mysql实现数据库随机重排实例的使用技巧和注意事项,需要的朋友参考一下 本文实例实现了php+mysql数据库随机重排的方法,可将表中的所有数据随机读出来一次之后再进行随机保存到另一个表,从而达到了记录随机的功能。 主要实现代码如下: 希望本文所述对大家的PHP程序设计有所帮助。

  • 本文向大家介绍Java权重随机的实现方法,包括了Java权重随机的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java权重随机的实现方法。分享给大家供大家参考。具体分析如下: 权重随机在项目中经常用到,所以我把它抽象到一个工具类中。 一般实现随机权重有两种方式: 1. 使用一个数组存放权重对应的实际目标,比如A的权重是2,B的权重是3,那么数组长度为5, 数组前两个存放A,后三

  • 本文向大家介绍JavaScript实现数字数组按照倒序排列的方法,包括了JavaScript实现数字数组按照倒序排列的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript实现数字数组按照倒序排列的方法。分享给大家供大家参考。具体如下: 下面的代码演示了JS数组如何通过sort对数字类型的数组进行倒序排序 上面的代码输出结果如下 100,40,25,10,5,1 希望本文

  • 本文向大家介绍Java实现按照大小写字母顺序排序的方法,包括了Java实现按照大小写字母顺序排序的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java实现按照大小写字母顺序排序的方法。分享给大家供大家参考,具体如下: 这里排序需要得到的结果按字母顺序。如:a-----z... 运行结果: 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Ja

  • 问题内容: 为了从Sql查询中以随机顺序获取结果,我通常按新的Guid进行排序。我之前已经使用Entity- Framework完成了此操作,但是由于某种原因,它现在无法正常工作。 例如(使用Adventureworks2008r2数据库),我在LinqPad中运行以下查询: 这将生成以下SQL: 那么我的orderby查询发生了什么? 我通过以下查询进一步迈出了这一步,发现它只被调用了一次。 这

  • 本文向大家介绍numpy中实现二维数组按照某列、某行排序的方法,包括了numpy中实现二维数组按照某列、某行排序的方法的使用技巧和注意事项,需要的朋友参考一下 如何根据二维数组中的某一行或者某一列排序?假设data是一个numpy.array类型的二维数组,可以利用numpy中的argsort函数进行实现,代码实例如下: 注意:argsort返回的只是排好序后的行索引,不会改变原数组。 按照某行进