Maison >développement back-end >tutoriel php >méthode php pour obtenir des combinaisons aléatoires à partir de nombres spécifiés

méthode php pour obtenir des combinaisons aléatoires à partir de nombres spécifiés

墨辰丷
墨辰丷original
2018-05-24 10:21:531528parcourir

Cet article présente principalement la méthode d'obtention de combinaisons aléatoires à partir de nombres spécifiés en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Par exemple : Étant donné le nombre 100, vous devez obtenir au hasard 3 combinaisons qui composent ce nombre, comme par exemple 70, 20, 10

Le code est le suivant :

<?php
/**
 * 获取指定数字的随机数字组合
 * @param Int  $var 数字
 * @param Int  $num 组合这个数字的数量
 * @return Array
 */
function getNumGroups($var, $num){

  // 数量不正确
  if($var<$num){
    return array();
  }

  $total = 0;
  $result = array();

  for($i=1; $i<$num; $i++){
    $tmp = mt_rand(1, $var-($num-$i)-$total);
    $total += $tmp;
    $result[] = $tmp;
  }

  $result[] = $var-$total;

  return $result;

}

// demo
$result = getNumGroups(100, 3);
print_r($result);

?>

Sortie :

Array
(
  [0] => 42
  [1] => 25
  [2] => 33
)

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.


Recommandations associées :

Php, configuration de l'environnement MySQL

PHPRequête de curl de fonction - page d'exploration/test d'interface

PHPRésumé des fonctions de base

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