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

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

Barbara Streisand
Libérer: 2024-12-17 02:06:24
original
658 Les gens l'ont consulté

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

Une approche sophistiquée pour générer des nombres aléatoires uniques dans une plage

La nécessité de générer des nombres aléatoires uniques dans une plage spécifiée se pose dans divers scénarios de programmation. Bien que le code donné tente de résoudre ce problème, il n’est pas efficace en termes d’efficacité. Examinons une approche plus optimisée et plus robuste.

La clé réside dans la création d'un tableau avec une plage de nombres et dans l'utilisation de la fonction shuffle() intégrée en PHP pour randomiser leur ordre. Voici le code amélioré :

$numbers = range(1, 20);
shuffle($numbers);
Copier après la connexion

Avec cette approche, nous générons efficacement un tableau de nombres aléatoires uniques dans la plage souhaitée.

Vous pouvez également encapsuler la logique dans une fonction réutilisable :

function UniqueRandomNumbersWithinRange($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}
Copier après la connexion

Exemple :

print_r( UniqueRandomNumbersWithinRange(0, 25, 5) );
Copier après la connexion

Attendu Résultat :

Array
(
    [0] => 14
    [1] => 16
    [2] => 17
    [3] => 20
    [4] => 1
)
Copier après la connexion

Cette approche garantit des nombres aléatoires uniques dans la plage spécifiée, garantissant une génération de nombres efficace et fiable pour vos applications.

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