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 :

choisir variable aléatoire parmis une liste


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 496
    Par défaut choisir variable aléatoire parmis une liste
    Bonjour,

    Comment choisir aléatoirement une variable parmi une liste ?
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $var_un =1;
    $var_deux =1;
    $var_trois =1;
    $var_quatre=1;
    //etc ...
    Merci d'avance de vos réponses.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    utilise un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $var[1] = 1;
    $var[2] = 1;
    $var[3] = 1;
    echo array_rand($var);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 496
    Par défaut
    Merci sabotage pour ta réponse.
    Le hic c'est que tes variables ont le même nom.
    Dans mon cas, elles n'ont pas le même nom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $var_un = 1;
    $var_deux = 1;
    $var_trois = 1;
    $var_quatre= 1;
    //etc ...
    La même valeur, oui mais pas le même nom ...
    Une idée ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce que je te dis, c'est ta facon d'utiliser les variables n'est pas bonne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 496
    Par défaut
    Tu peux être un peu plus explicite ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Peux-tu nous décrire pourquoi tu as besoin de choisir une variable au hasard ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 496
    Par défaut
    Oui, bien sur :

    Dans mes pages, je fais un include. Disons include.php
    Dans ce fichier il y a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if(isset($variable_bleu)) {
    echo 'Bleu';
    }
    if(isset($variable_rouge)) {
    echo 'Rouge';
    }
    if(isset($variable_vert)) {
    echo 'Vert';
    }
    Puis, dans mes pages, en fonction de ce que j'ai besoin d'afficher je choisis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $variable_bleu = 1;
    $variable_rouge= 1;
    Or, sur une de mes pages, je souhaite n'afficher qu'une de ces variables mais de façon aléatoire soit :
    $variable_bleu ou $variable_rouge ou $variable_vert
    Voilà, j'espère que cela est plus clair.
    Merci pour le temps passé à me répondre ...

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce que je te disais c'est qu'en PHP on n'écrit pas $variable_rouge, $variable_vert etc.
    Il y a les tableaux pour ça $variable['rouge'], $variable['vert'] etc.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Je plussoie fortement sabotage, ton fonctionnement a l'air plutôt mal conçu.

    Cela dit, si tu tiens vraiment à tes variables avec des noms composés, tu peux éventuellement faire ça avec une variable dynamique et en randomisant le nom de la variable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $nomsVariables = array('rouge', 'bleu', 'vert');
    $keyVariableRandom = array_rand($nomsVariables);
    ${"variable_".$nomsVariables[$keyVariableRandom]} = 1;
     
    if(isset($variable_bleu)) {
    echo 'Bleu';
    }
    if(isset($variable_rouge)) {
    echo 'Rouge';
    }
    if(isset($variable_vert)) {
    echo 'Vert';
    }
    Mais c'est très capillo-tracté comme fonctionnement et donc pas du tout recommandé.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  10. #10
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 496
    Par défaut
    Merci Celira. Cela fonctionne.
    Je plussoie fortement sabotage, ton fonctionnement a l'air plutôt mal conçu.
    Je ne demande pas mieux que d'avoir une explication ou un exemple !

  11. #11
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ben, le fait que tes variables existent ou pas selon un critère purement aléatoire, c'est bizarre.
    Personnellement, je travaillerai plutôt avec une seule variable qui existe toujours et dont la valeur change selon le critère, ou alors avec des variables booléennes "j'affiche/j'affiche pas"
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  12. #12
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 496
    Par défaut
    Ben, le fait que tes variables existent ou pas selon un critère purement aléatoire, c'est bizarre.
    Oui et non. C'est un cas particulier sur une page de mon site.
    Personnellement, je travaillerai plutôt avec une seule variable qui existe toujours et dont la valeur change selon le critère, ou alors avec des variables booléennes "j'affiche/j'affiche pas"
    Oui, je comprends la logique mais comme dit ci-dessus c'est un cas particulier 1 page sur plus 6000
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ${"variable_".$nomsVariables[$keyVariableRandom]} = 1;
    Je ne connaissait pas du tout cette façon d'écrire entre accolades.
    Merci pour l'explication et le code !

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 19/11/2008, 13h44
  2. Réponses: 10
    Dernier message: 15/12/2006, 07h34
  3. [XSLT]Recuperer une valeur parmis une liste. (tri)
    Par Asaturne dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 16/06/2006, 17h27
  4. Choisir un chiffre aléatoire parmi une liste
    Par djsbens dans le forum Général Java
    Réponses: 2
    Dernier message: 08/03/2006, 18h19
  5. [FLASH MX] Choisir un nombre aléatoire dans une liste
    Par grenatdu55 dans le forum Flash
    Réponses: 4
    Dernier message: 23/04/2005, 21h09

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