Rumah > pembangunan bahagian belakang > tutorial php > PHP随机排序加入权重因子

PHP随机排序加入权重因子

*文
Lepaskan: 2023-03-18 11:46:01
asal
2115 orang telah melayarinya

PHP随机排序很多人都会,可是如何实现有权重的随机排序呢?本文就分享按照权重随机排序数据,希望对大家有所帮助。

具体实现方法如下:

<?php   
/**  
 * @param array $weight 权重  例如array(&#39;a&#39;=>10,&#39;b&#39;=>20,&#39;c&#39;=>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(&#39;a&#39;=>10,&#39;b&#39;=>20,&#39;c&#39;=>50));   
echo $row;   
?>
Salin selepas log masuk


相关推荐:

PHP中数组的三种排序方法 php 快速排序 php 排序算法 php 排序函

php 排序算法程序不用递归

PHP常见排序算法学习


Atas ialah kandungan terperinci PHP随机排序加入权重因子. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan