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

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

Barbara Streisand
Libérer: 2024-12-14 02:05:09
original
338 Les gens l'ont consulté

How Can I Efficiently Generate Unique Random Numbers Within a Specific Range?

Génération de nombres aléatoires uniques dans une plage : approche optimisée

Pour générer des nombres aléatoires uniques dans une plage spécifiée, envisagez les méthodes améliorées suivantes :

Tableau avec ordre mélangé :

  • Créez un tableau avec des nombres dans le plage souhaitée.
  • Utilisez shuffle() pour randomiser l'ordre des éléments du tableau.
$numbers = range(1, 20);
shuffle($numbers);
Copier après la connexion

Fonction enveloppée :

  • Définissez une fonction qui encapsule la logique permettant de générer un nombre spécifié de nombres aléatoires uniques dans une plage.
  • Dans la fonction, crée un tableau avec la plage souhaitée, mélange son ordre et renvoie une tranche du tableau contenant le nombre d'éléments souhaité.
function UniqueRandomNumbersWithinRange($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}
Copier après la connexion

Exemple d'utilisation :

$result = UniqueRandomNumbersWithinRange(0, 25, 5);
Copier après la connexion

Cela générera et renverra un tableau de 5 nombres uniques ordonnés aléatoirement dans la plage 0-25.

Exemple de résultat :

$result = [14, 16, 17, 20, 1]
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal