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...
Version imprimable
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 pasCode:
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; }
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:
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);
Il vaut mieux mettre par soucis d'optimisation les caractères dans un tableau alors et utiliser mt_rand() au lieu de rand()