IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

PHP5 : 4 nombres aleatoires et differents [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 34
    Par défaut PHP5 : 4 nombres aleatoires et differents
    Bonjour

    Connaissez vous une méthode astucieuse pour tirer 4 nombres aléatoires de 1 à 100 et tous différents ?

    merci

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Pour titer les 4 nombres aléatoires tu utilises donc la fonction rand() dont le synopsis est ' int rand ( int $min , int $max ) '.

    Ensuite, soit tu mets les 4 rand() en série dans une boucle qui test que les 4 sont différents:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    do {
        $a = rand(0, 100);
        $b = rand(0, 100);
        $c = rand(0, 100);
        $d = rand(0, 100);
    } while ( ($a <> $b) and ($a <> $c) and ($a <> $d) and ($b <> $c) ($b <> $d) and ($c <> $d) );
    OU tu fais rand() par rand() avec un test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $a = rand(0, 100);
    do { $b = rand(0, 100); while ( $b <> $a);
    do { $c ....                  while ( ($c <> $a) et ($c <> $b) )
    ...
    OU ya une solution super astucieuse (qui me vient pas comme ça )

  3. #3
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 34
    Par défaut
    entre temps j'ai obtenu une reponse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $rand = array();
    while (count($rand) < $total ) {
        $r = mt_rand($min,$max);
        if ( !in_array($r,$rand) ) {
            $rand[] = $r;
        }
    }
    ?>
    ou


    <?php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     function uniqueRand($n, $min = 0, $max = null)
     {
      if($max === null)
       $max = getrandmax();
      $array = range($min, $max);
      $return = array();
      $keys = array_rand($array, $n);
      foreach($keys as $key)
       $return[] = $array[$key];
      return $return;
     }
    ?>
    merci

  4. #4
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Ouais j'avais encore oublié le in_array (cause vacances) mais c sûrement mieux

    Si tu es ok passes à résolu pour prendre en compte ta fonction comme résolution de ton post, merci.

  5. #5
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 34
    Par défaut
    jai marque RESOLU merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Deb.] Nombre aleatoire bricolage a critiquer
    Par Marc_3 dans le forum C++
    Réponses: 2
    Dernier message: 15/11/2005, 19h04
  2. Nombres aléatoires
    Par bdaboah dans le forum C
    Réponses: 10
    Dernier message: 05/10/2005, 11h04
  3. [langage] générer un nombre aléatoire gaussien
    Par kayari dans le forum Langage
    Réponses: 5
    Dernier message: 23/05/2005, 08h12
  4. nombres aleatoires en plsql
    Par al85 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 29/03/2005, 19h07
  5. nombre aleatoire
    Par Bob dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 17/06/2002, 18h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo