Aléatoire

Invité
Invité n'ayant pas de compte PHPfrance

14 mai 2007, 17:34

Bonjour,

ce bout de code génère aléatoirement des séries de codes :
$alea="aA1bB1cC2dD3eE4fF5gG6hH7iI8jJ9kK0lLmMnNoOpPqQrRsStTuUvVwWxXyYzZ";
$code="oui";
while(strlen($code)!=9) {
     $code.=$alea[rand(0,61)];
}
print $code;
Comment je pourrais faire pour les créer 10 par 10 voir 20 par 20 car là,cela n'en fait que un par un.

Mercide votre aide

ViPHP
ViPHP | 3607 Messages

14 mai 2007, 19:32

<?php
function genereCode($prefix='',$longueur=10){
      $alea="aA1bB1cC2dD3eE4fF5gG6hH7iI8jJ9kK0lLmMnNoOpPqQrRsStTuUvVwWxXyYzZ";
      $i=0;
      while($i<$longueur) {
            $prefix.=$alea[rand(0,61)];
            $i++;
      }
      return $prefix;
}

$code1=genereCode();
$code2=genereCode('debut');
$code3=genereCode('',3);
?>

Mammouth du PHP | 693 Messages

15 mai 2007, 08:04

Non, je crois que c'est pas la bonne réponse et qu'on demande comment faire pour avoir 20 chaines de ce type
while($i<10)
    {$code["$i"]='oui';
     while(strlen($code)!=9) { 
            $code.=$alea[rand(0,61)]; 
      } 
      $i++;
}
Enfin, quelque soit ta question, tu à la rpéonse :D
Modifié en dernier par orgerix le 15 mai 2007, 17:02, modifié 2 fois.

ViPHP
ViPHP | 3607 Messages

15 mai 2007, 09:36

fait un effort sur la relecture orgerix, aussi bien de ton post que de ton code...
une version corrigée et optimisée de ton code:
<?php
//il ne faut pas oublier d'initialiser les variables
$i=0;
$longeur_code=10;
$alea="aA1bB1cC2dD3eE4fF5gG6hH7iI8jJ9kK0lLmMnNoOpPqQrRsStTuUvVwWxXyYzZ"; 
while($i<10) {
    //les guillemets ne servent à rien autour de la variable $i
    $code[$i]='oui';
    $j=0; //ou $j=strlen($code[$i]); si on veut prendre en compte ou non le prefix dans la longeur du code
    while($j<$longueur_code) { 
            // notez que $alea est une chaine donc {} et non pas un tableau []
            // utilisation de mt_rand(), pour un meilleur aléa
            $code[$i].=$alea{mt_rand(0,61)}; 
            $j++
    } 
    $i++;
}
voilou ;-)

Mammouth du PHP | 693 Messages

15 mai 2007, 17:04

Oups, désolé :oops:

ViPHP
ViPHP | 3607 Messages

15 mai 2007, 17:20

Oups, désolé :oops:
pas de blème :wink: