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

Langage PHP Discussion :

Exception avec srand & rand: aucun résultat [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 36
    Par défaut Exception avec srand & rand: aucun résultat
    Bonjour,

    J'ai un problème avec rand qui ne fournit aucune valeur lorsque le srand est à une certaine valeur. Je ne comprends pas du tout pourquoi.
    Voici une partie qui reproduit le problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    $chunk = 'eeb2b02a';
    srand(hexdec($chunk));
    $output = substr($charset, rand(0,strlen($charset)), 1);
    echo 'Output:'.$output.'fin';
    ?>
    Normalement, c'est censé me fournir une lettre ou chiffre venant de $charset, et qui soit toujours le même suivant le code hexa rentré avant ($chunk). Tous les autres codes hexa que j'ai testé fonctionnent, mais celui-ci ne me retourne rien. Exemple: 'ff90821f'

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 36
    Par défaut
    J'ai trouvé d'où vient le problème.
    Le rand s'effectue entre 0 et 62 (taille de $charset), ce qui donne 63 possibilités hors $charset n'a que 62 caractères. Ainsi lorsque que l'on tombait sur 62 avec rand, soit le 63ème caractère, il ne m'affichait rien. Un petit -1 après la fonction strlen résout le problème.

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

Discussions similaires

  1. Requête qui ne retourne aucun résultat en timeout avec un top
    Par olysmar2 dans le forum Développement
    Réponses: 10
    Dernier message: 27/11/2014, 19h35
  2. Réponses: 1
    Dernier message: 08/03/2011, 16h56
  3. Réponses: 7
    Dernier message: 11/05/2009, 14h21
  4. probléme avec une recherche qui donne aucun résultat
    Par lila23 dans le forum Débuter
    Réponses: 8
    Dernier message: 18/04/2009, 21h47
  5. Problème avec srand() et rand()
    Par rouliane dans le forum C++
    Réponses: 10
    Dernier message: 16/12/2007, 19h35

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