Maison  >  Article  >  développement back-end  >  Ajouter un facteur de poids au tri aléatoire en PHP

Ajouter un facteur de poids au tri aléatoire en PHP

*文
*文original
2017-12-25 13:29:382041parcourir

Beaucoup de gens connaissent le tri aléatoire PHP, mais comment implémenter le tri aléatoire pondéré ? Cet article partagera les données triées aléatoirement en fonction du poids. J'espère qu'il sera utile à tout le monde.

La méthode spécifique de mise en œuvre est la suivante :

<?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;   
?>


Recommandations associées :

Trois méthodes de tri pour les tableaux en PHP php quick sort php algorithme de tri fonction de tri php

le programme d'algorithme de tri php ne nécessite pas de récursion

Apprentissage des algorithmes de tri courants en PHP


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn