Générer un nombre aléatoire entre 1 et 16 [Résolu]

Signaler
Messages postés
208
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
26 janvier 2009
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
bonjour.

quelle est la fonction php pour générer un nombre entier aléatoire entre 1 et 16???

le but est ensuite de récupérer le Nieme caractére dans une chaine
"abcdef1234567890", selon le nombre fourni par la fonction. mais ça, je
devrais pouvoir me débrouiller seul!

mon principal probleme est que je ne connais ma fonction qu'en
TI-basic: RandInt(1,16)! sauf qu'en php, ce n'est pas la même, et quand
je cherche random +php sur google, je trouve tout un tas de chose qui
sont assez éloignées de ce que je cherche (il y a un script pour
choisir une citation aléatoirement, qui pourrait faire l'affaire, si il
ne me fallais pas le numéro du caractere choisi dans la suite du
code...)

http://www.gondolin.new.fr/ : quizz sur le seigneur des anneaux! venez créer les votres!
A voir également:

7 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Hello,

$chaine = 'abcdef1234567890';
$myChar = $chaine {rand (0, 15)};
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
7
rand(1,16);





et, ce que tu cherches a faire ressemble à





dechex( rand(0,15) );
Messages postés
208
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
26 janvier 2009

rand(0,15)! tout simplement! et die qu'il y a des gens qui s'ammusent
(ce que j'ai vu sur google) à faire des script incompréhensibles avec
du microtime et autres :-)

merci, je vais essayer ça!

http://www.gondolin.new.fr/ : quizz sur le seigneur des anneaux! venez créer les votres!
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
"à faire des script incompréhensibles avec du microtime et autres :-)" Généralement pour des IDs de session ou alors des clefs de hashages.

Va sur www.php.net la prochaine fois :) Et tape "random", tu trouveras très vite la fonction :)
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,

tu as aussi mt_rand() qui est plus rapide (l'utilisation est exactement la même que rand()) ;-)

a +

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Voui, le seul truc vraiment intéressant dans la ligne que je montre, pour un débutant en php en tous cas (parce que va faire ça en Delphi, par exemple...), c'est l'accès direct à n'importe quelle position de ta chaîne, avec les accolades, comme pour un tableau (mais sans crochet...quoique, ça marche aussi avec crochets; c'est juste que cette ériture est préférable histoire de s'y retrouver et de ne pas confondre une chaîne avec un tableau).
mt_rand() est plus rapide ? Je pensais que c'était juste une question de taille du random utilisable. C'est bon à savoir :-)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
salut,

vive le tibasic...



pour générer une chaine aléatoire :



md5(microtime());



Bon, je veux bien admettre que c'est vraiment du pseudo-aléatoire, mais pas forcément plus que ce qu'on a avec mtrand...



Bon, sinon, ensuite, en traitant un peu les chaines, on arrive à avoir
des chaines comparables, et de bien meilleurs benchs avec ma fonction...



menfin, si tu ne veux qu'un caractère... ça va être difficile de faire mieux qu'un mtrand...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy