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('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; ?>
Recommandations associées :
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!