Maison >développement back-end >tutoriel php >Comment générer efficacement des nombres aléatoires uniques dans une plage spécifique ?

Comment générer efficacement des nombres aléatoires uniques dans une plage spécifique ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-05 04:55:10252parcourir

How to Efficiently Generate Unique Random Numbers Within a Specific Range?

Génération de nombres aléatoires uniques dans une plage

Question : Comment puis-je générer efficacement des nombres aléatoires uniques dans une plage spécifiée gamme ?

Réponse :

Le le code fourni génère des nombres aléatoires dans une plage mais ne peut pas garantir l'unicité. Pour une solution optimisée, envisagez les approches suivantes :

1. Tableau avec ordre aléatoire :

  • Générez un tableau de nombres dans la plage (plage (min, max)).
  • Mélangez le tableau à l'aide de shuffle().
  • Cela crée un ordre aléatoire de nombres, qui peuvent être découpés à la quantité souhaitée pour un résultat unique. résultats.

2. Fonction enveloppée :

  • Encapsuler la technique de brassage de tableau dans une fonction :
function UniqueRandomNumbersWithinRange($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}
  • Exemple d'utilisation :
print_r(UniqueRandomNumbersWithinRange(0, 25, 5));

Résultat :

Un tableau de la quantité spécifiée avec des nombres aléatoires uniques dans la plage donnée.

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