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

Messages postés
208
Date d'inscription
mardi 13 avril 2004
Dernière intervention
26 janvier 2009
- 21 nov. 2005 à 18:24 - Dernière réponse :
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
- 22 nov. 2005 à 10:41
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!
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
21 nov. 2005 à 18:29
3
Merci
Hello,

$chaine = 'abcdef1234567890';
$myChar = $chaine {rand (0, 15)};

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de malalam
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Dernière intervention
28 août 2007
21 nov. 2005 à 18:32
0
Merci
rand(1,16);





et, ce que tu cherches a faire ressemble à





dechex( rand(0,15) );
Commenter la réponse de J_G
Messages postés
208
Date d'inscription
mardi 13 avril 2004
Dernière intervention
26 janvier 2009
21 nov. 2005 à 20:18
0
Merci
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!
Commenter la réponse de aze555666
Messages postés
2368
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
18 avril 2015
21 nov. 2005 à 21:24
0
Merci
"à 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 :)
Commenter la réponse de FhX
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
21 nov. 2005 à 22:52
0
Merci
Salut,

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

a +

Commenter la réponse de cs_Anthomicro
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
22 nov. 2005 à 09:33
0
Merci
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 :-)
Commenter la réponse de malalam
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
22 nov. 2005 à 10:41
0
Merci
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

Commenter la réponse de coucou747

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.