Maison >développement back-end >tutoriel php >Comment utiliser la fonction aléatoire PHP

Comment utiliser la fonction aléatoire PHP

墨辰丷
墨辰丷original
2018-06-11 16:21:412477parcourir

Cet article présente principalement l'utilisation de la fonction aléatoire PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Écrit devant

L'utilisation classique des fonctionnalités de syntaxe PHP et des bibliothèques de fonctions associées n'a peut-être pas vraiment pour effet de faire une énorme différence, mais la maîtrise de ces méthodes peut y vous sera d'une grande aide dans votre travail et vos études !

2. Préface

PHP est un langage de script courant, principalement parce qu'il est facile à apprendre et rapide à utiliser. Près de 50 % des programmes Web disposent de PHP (. Statistiques incomplètes). PHP fournit une multitude de fonctions et d'interfaces API pour le développement, ce qui nous permet d'utiliser très facilement ses puissantes fonctions et extensions intégrées.

3. Fonctions aléatoires PHP

Les fonctions aléatoires PHP incluent principalement rand, mt_rand, array_rand et les fonctions "arrangées" (mélangées) aléatoirement shuffle et str_shuffle , un uniqid. qui peut générer un identifiant unique.

1. rand génère des nombres aléatoires :

<?php
$base = &#39;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789&#39;;
$count = strlen($base);
$random = &#39;&#39;;
for ($i=0; $i < 16; $i++) { 
 $random.=$base[rand(0,$count-1)];
}
echo $random;
?>

La fonction rand() utilise les nombres aléatoires de la libc. qui génère des nombres aléatoires est généralement lent et comporte des incertitudes. Il est recommandé d'utiliser la fonction mt_rand à la place.

La fonction getrandmax() peut renvoyer le nombre aléatoire maximum que la fonction rand peut générer (mon système est 32767), donc lors de la définition du deuxième paramètre de la fonction rand, ne dépassez pas la valeur de retour de getrandmax.

2. mt_rand génère des nombres aléatoires :

<?php
$base = &#39;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789&#39;;
$count = strlen($base);
$random = &#39;&#39;;
for ($i=0; $i < 16; $i++) { 
 $random.=$base[mt_rand(0,$count-1)];
}
echo $random;
?>

De nombreux anciens générateurs de nombres aléatoires libc ont des éléments incertains et propriétés inconnues et très lent. La fonction rand() de PHP utilise par défaut le générateur de nombres aléatoires libc. La fonction mt_rand() est utilisée de manière informelle pour la remplacer. Cette fonction utilise les fonctionnalités connues de » Mersenne Twister comme générateur de nombres aléatoires, qui peut générer des valeurs aléatoires en moyenne quatre fois plus rapidement que rand() fourni par la libc. Il est fortement recommandé d'utiliser la fonction mt_rand au lieu de rand pendant le développement.

Si les paramètres facultatifs min et max ne sont pas fournis, mt_rand() renvoie un nombre pseudo-aléatoire compris entre 0 et mt_getrandmax(). Par exemple, si vous souhaitez un nombre aléatoire compris entre 3 et 20 (inclus), utilisez mt_rand(3, 20).

3. La fonction array_rand

<?php
$base = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;,&#39;f&#39;,&#39;g&#39;,&#39;h&#39;,&#39;i&#39;,&#39;j&#39;,&#39;k&#39;,&#39;l&#39;,&#39;m&#39;,&#39;n&#39;,&#39;o&#39;,&#39;p&#39;,&#39;q&#39;,&#39;r&#39;,&#39;s&#39;,&#39;t&#39;,&#39;u&#39;,&#39;v&#39;,&#39;w&#39;,&#39;x&#39;,&#39;y&#39;,&#39;z&#39;,&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;,&#39;E&#39;,&#39;F&#39;,&#39;G&#39;,&#39;H&#39;,&#39;I&#39;,&#39;J&#39;,&#39;K&#39;,&#39;L&#39;,&#39;M&#39;,&#39;N&#39;,&#39;O&#39;,&#39;P&#39;,&#39;Q&#39;,&#39;R&#39;,&#39;S&#39;,&#39;T&#39;,&#39;U&#39;,&#39;V&#39;,&#39;W&#39;,&#39;X&#39;,&#39;Y&#39;,&#39;Z&#39;,&#39;0&#39;,&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;);
 
$random = &#39;&#39;;
for ($i=0; $i < 16; $i++) { 
 $random.=$base[array_rand($base)];
}
echo $random;
?>

array_rand renvoie une valeur de clé aléatoire dans le tableau, quelque peu similaire à mt_rand(), le reste n'a rien de spécial, utilisez-le simplement de manière flexible.

4. Fonction shuffle

<?php
$base = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;,&#39;f&#39;,&#39;g&#39;,&#39;h&#39;,&#39;i&#39;,&#39;j&#39;,&#39;k&#39;,&#39;l&#39;,&#39;m&#39;,&#39;n&#39;,&#39;o&#39;,&#39;p&#39;,&#39;q&#39;,&#39;r&#39;,&#39;s&#39;,&#39;t&#39;,&#39;u&#39;,&#39;v&#39;,&#39;w&#39;,&#39;x&#39;,&#39;y&#39;,&#39;z&#39;,&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;,&#39;E&#39;,&#39;F&#39;,&#39;G&#39;,&#39;H&#39;,&#39;I&#39;,&#39;J&#39;,&#39;K&#39;,&#39;L&#39;,&#39;M&#39;,&#39;N&#39;,&#39;O&#39;,&#39;P&#39;,&#39;Q&#39;,&#39;R&#39;,&#39;S&#39;,&#39;T&#39;,&#39;U&#39;,&#39;V&#39;,&#39;W&#39;,&#39;X&#39;,&#39;Y&#39;,&#39;Z&#39;,&#39;0&#39;,&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;);
if(shuffle($base)){
 print_r($base);
}
?>

La fonction shuffle permet de perturber la séquence d'un array. C'est un peu aléatoire, donc c'est mis dans la fonction random ici. La valeur de retour est une valeur booléenne, ce qui équivaut à référencer directement la variable d'origine.

5. Fonction str_shuffle

<?php
$base = &#39;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789&#39;;
echo str_shuffle($base);
?>

La fonction de str_shuffle ici est similaire à la fonction de shuffle , la seule différence est la valeur de retour, la chaîne originale de str_shuffle reste inchangée.

6. La fonction uniqid

<?php
echo uniqid();
//54f806528172f
?>

uniqid peut générer une chaîne unique La portée de cette application peut. Assez étendu

4. Résumé
Les fonctions aléatoires sont presque les fonctions les plus basiques de chaque langage, et la prise en charge par PHP des fonctions aléatoires ne fait pas exception. Les fonctions , shuffle, str_shuffle et uniqid, et bien d'autres, peuvent être utilisées de manière flexible en combinaison avec des applications réelles.

Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Techniques courantes PHP pour la gestion des erreurs

php pour implémenter des services Web La méthode de

méthode php de création dynamique de code html basé sur le tableau

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