Bonjour,
Je recherche une fonction me permettant de générer une chaine de caractères aléatoires pas très longue.
Merci d'avance...
Bonjour,
Je recherche une fonction me permettant de générer une chaine de caractères aléatoires pas très longue.
Merci d'avance...
Bonjour,
voici une fonction que j'ai utilisé sur un site pour générer des codes:
Si tu as besoin de précision n'hésite pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function genereCode($length){ $string=''; $chaine='abcdefghijklmnopqrstuvwxyz0123456789'; for($i=0;$i<$length;$i++){ $string.=substr($chaine,rand(0,strlen($chaine)-1),1); } return $string; }
Il vaut mieux mettre par soucis d'optimisation les caractères dans un tableau alors et utiliser mt_rand() au lieu de rand()
Sur le principe tu peut écrire les caractères possibles dans un tableau
$tab = array('a','-','+','b','c','...');
ensuite tu mélanges les éléments de ton tableau avec shuffle;
shuffle($tab);
tu sélectionne les X premiers éléments de ton tableau avec array_slice
$tab_result = array_slice($tab,0,X);
et enfin tu utilises implode pour rassembler les éléments de ton tableau dans une chaine :
$string = implode('',$tab_result);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $nb = 6;// nombre de caractères en retour $tab = array('a','-','+','b','c','...');// définition des caractères possbiles shuffle($tab); $tab_result = array_slice($tab,0,$nb); $string = implode('',$tab_result);
Partager