Comment générer différents nombres aléatoires en php

PHPz
Libérer: 2023-04-10 14:00:28
original
788 Les gens l'ont consulté

En PHP, nous devons souvent utiliser des nombres aléatoires pour effectuer certaines opérations. Parfois, nous avons besoin que la plage de nombres aléatoires soit la même, mais les nombres aléatoires générés à chaque fois sont différents. Alors, comment générer différents nombres aléatoires ?

  1. Utiliser l'horodatage comme graine de nombre aléatoire

Nous pouvons utiliser l'horodatage de l'heure actuelle comme graine pour la génération de nombres aléatoires. L'horodatage est le nombre de secondes entre le 1er janvier 1970 00:00:00 GMT et l'heure actuelle. Par exemple, nous pouvons utiliser le code suivant pour générer des nombres aléatoires :

mt_srand(time());
$random_number = mt_rand(1, 100);
Copier après la connexion

Dans le code ci-dessus, mt_srand(time()) signifie utiliser l'horodatage actuel comme numéro de départ, mt_rand( 1, 100) signifie générer un nombre aléatoire entre 1 et 100. <code>mt_srand(time()) 表示使用当前时间戳作为种子数,mt_rand(1, 100) 表示生成一个 1 到 100 之间的随机数。

  1. 使用随机字符串作为种子

我们可以使用随机字符串作为随机数种子。例如,我们可以使用如下代码生成随机数:

$seed = str_split('abcdefghijklmnopqrstuvwxyz'
                 .'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
                 .'0123456789');
shuffle($seed);
$random_number = '';
foreach (array_rand($seed, 10) as $k) {
    $random_number .= $seed[$k];
}
Copier après la connexion

上述代码中,我们首先将包含所有可能字符的字符串拆分成字符数组 $seed,然后调用 shuffle 函数将这个数组重新排列。接着,我们使用 array_rand 函数从数组中随机选取 10 个字符,最终将这些字符拼接起来作为随机数。

  1. 使用 PHP uniqid 函数

PHP 的 uniqid 函数可以生成唯一的 ID,我们也可以使用它来生成随机数。例如,我们可以使用如下代码生成随机数:

$random_number = uniqid(mt_rand(), true);
Copier après la connexion

上述代码中,mt_rand() 函数返回一个随机整数,将其作为 uniqid 函数的前缀,true 参数表示使用微秒级时间戳作为后缀。

总结

使用时间戳、随机字符和 uniqid

    Utiliser une chaîne aléatoire comme graine🎜🎜🎜Nous pouvons utiliser une chaîne aléatoire comme graine de nombre aléatoire. Par exemple, nous pouvons utiliser le code suivant pour générer des nombres aléatoires : 🎜rrreee🎜Dans le code ci-dessus, nous divisons d'abord la chaîne contenant tous les caractères possibles en un tableau de caractères $seed, puis appelons shuffle réorganise ce tableau. Ensuite, nous utilisons la fonction <code>array_rand pour sélectionner aléatoirement 10 caractères dans le tableau, et enfin concaténer ces caractères ensemble sous forme de nombre aléatoire. 🎜
      🎜Utiliser la fonction PHP uniqid 🎜🎜🎜La fonction uniqid de PHP peut générer un identifiant unique, et nous pouvons également l'utiliser pour générer des nombres aléatoires. Par exemple, nous pouvons utiliser le code suivant pour générer des nombres aléatoires : 🎜rrreee🎜Dans le code ci-dessus, la fonction mt_rand() renvoie un entier aléatoire, qui est utilisé comme préfixe du Fonction uniqid, true
    indique l'utilisation de l'horodatage en microsecondes comme suffixe. 🎜🎜Résumé🎜🎜L'utilisation d'horodatages, de caractères aléatoires et de la fonction uniqid peut tous générer différents nombres aléatoires. En utilisation réelle, vous devez choisir une méthode qui vous convient en fonction de la situation spécifique. Il convient de noter que les nombres aléatoires ne sont pas des nombres véritablement aléatoires, mais des nombres pseudo-aléatoires qui reposent sur un générateur de nombres aléatoires. Par conséquent, lorsque des nombres aléatoires véritablement sécurisés sont requis, des bibliothèques cryptographiques spécialisées sont nécessaires. 🎜

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