3 façons de générer des nombres aléatoires en php

不言
Libérer: 2023-04-01 15:56:02
original
6346 Les gens l'ont consulté

Partagez trois méthodes pour générer des nombres aléatoires en php. Générez des nombres aléatoires non répétitifs entre 1 et 10. Des exemples de php générant des nombres aléatoires non répétitifs peuvent se référer à

Comment générer avec. php Un nombre aléatoire non répétitif entre 1 et 10 ?

Exemple 1, utilisez la fonction shuffle pour générer des nombres aléatoires.

<?php
$arr=range(1,10);
shuffle($arr);
foreach($arr as $values)
{
 echo $values." ";
}
?>
Copier après la connexion

Exemple 2, utilisez la fonction array_unique pour générer des nombres aléatoires.

<?php
$arr=array();
while(count($arr)<10)
{
 $arr[]=rand(1,10);
 $arr=array_unique($arr);
}
echo implode(" ",$arr);
?>
Copier après la connexion

Exemple 3, utilisez la fonction array_flip pour générer des nombres aléatoires, ce qui peut supprimer les valeurs en double.

<?php
$arr=array();
$count1=0;
$count = 0;
$return = array();
while ($count < 10) 
 {
 $return[] = mt_rand(1, 10);
 $return = array_flip(array_flip($return));
 $count = count($return);
 } //www.jb51.net
foreach($return as $value)
 {
 echo $value." ";
 }
echo "<br/>";
$arr=array_values($return);// 获得数组的值 
foreach($arr as $key)
echo $key." ";
?>
Copier après la connexion

Exemple de fonction de génération de nombres aléatoires php

<?php
function randpw($len=8,$format=&#39;ALL&#39;){
$is_abc = $is_numer = 0;
$password = $tmp =&#39;&#39;; 
switch($format){
case &#39;ALL&#39;:
$chars=&#39;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789&#39;;
break;
case &#39;CHAR&#39;:
$chars=&#39;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&#39;;
break;
case &#39;NUMBER&#39;:
$chars=&#39;0123456789&#39;;
break;
default :
$chars=&#39;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789&#39;;
break;
} // www.jb51.net
mt_srand((double)microtime()*1000000*getmypid());
while(strlen($password)<$len){
$tmp =substr($chars,(mt_rand()%strlen($chars)),1);
if(($is_numer <> 1 && is_numeric($tmp) && $tmp > 0 )|| $format == &#39;CHAR&#39;){
$is_numer = 1;
}
if(($is_abc <> 1 && preg_match(&#39;/[a-zA-Z]/&#39;,$tmp)) || $format == &#39;NUMBER&#39;){
$is_abc = 1;
}
$password.= $tmp;
}
if($is_numer <> 1 || $is_abc <> 1 || empty($password) ){
$password = randpw($len,$format);
}
return $password;
}
for($i = 0 ; $i < 10; $i++){
echo randpw(8,&#39;NUMBER&#39;);
echo "<br>";
}
Copier après la connexion

Ce qui précède Nous espérons que l'ensemble du contenu de cet article sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois !

Recommandations associées :

PHP génère un code de vérification d'image et un code de changement de clic

À propos de PHP pour implémenter le montant de l'enveloppe rouge WeChat Algorithme de fractionnement des points

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!

Étiquettes associées:
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