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
283 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!

source:php.cn
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