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 :

[Tableaux] Ne pas afficher tout le résultat de Shuffle


Sujet :

Langage PHP

  1. #1
    Gunner4902
    Invité(e)
    Par défaut [Tableaux] Ne pas afficher tout le résultat de Shuffle
    Bonjour,

    J'aimerai améliorer le principe suivant :

    Un array-rand choisit une ligne aléatoire d'un fichier .php, chaque ligne est actuellement composé de 3 couleurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $fichier_deroulement = file("color.php", FILE_IGNORE_NEW_LINES);
    $fd3 = array_rand($fichier_color); 
    echo "<span class=\"$fichier_color[$fd3]\">$fichier_color[$fd3]</span>";
    ?>
    le fichier color.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    rouge • vert • bleu
    bleu • vert • rouge
    etc
    Plutot que de répéter chaque combinaison de couleurs, j'aurai aimé n'écrire que trois lignes :
    et que le echo me retourne une combinaison aléatoire de ces trois couleurs, sans donner de doublons.

    Est-ce possible, et si oui comment ?
    Merci
    Dernière modification par Gunner4902 ; 15/03/2008 à 13h11.

  2. #2
    Membre averti Avatar de makmaoui
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 283
    Points : 368
    Points
    368
    Par défaut
    Bonjour,

    tu peux utiliser la fonction shuffle qui te renverra un tableau avec les éléments mélangés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    $couleur = array('B' , 'V', 'R');
     
    shuffle($couleur);
     
    ?>

  3. #3
    Gunner4902
    Invité(e)
    Par défaut
    Merci.

    Mais je souhaiterai que le résultat ne soit pas forcément trois couleurs, mais que le echo me renvoit une, deux OU trois couleur(s) (mais avec l'ordre aléatoire et le fait qu'il n'y ait pas de doublons, donc comme avec Shuffle).

    En me basant sur ce que tu m'as donné, j'ai pensé à combiner Shuffle et explode, mais celà ne semble pas être la bonne méthode.

    Quelqu'un peut-il m'orienter ou me donner la solution.

    Merci
    Dernière modification par Gunner4902 ; 15/03/2008 à 13h33.

  4. #4
    Membre averti Avatar de makmaoui
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 283
    Points : 368
    Points
    368
    Par défaut
    Salut,

    dans ce cas tu généres un nombre aléatoire entre 1 et 3 et tu affiches les n premiers résultats :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    $couleur = array('B' , 'V', 'R');
     
    shuffle($couleur);
     
    $nb = mt_rand(1, 3);
     
    for($i = 1; $i <= $nb; $i++) {
     echo $couleur[$i];
    }
     
     
    ?>

  5. #5
    Gunner4902
    Invité(e)
    Par défaut
    Merci beaucoup

    Ca semble tellement simple quand c'est fait par une personne qui sait manier PHP

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/04/2008, 12h44
  2. Réponses: 2
    Dernier message: 03/05/2007, 11h02
  3. [JpGraph] Ne pas afficher toutes le valeurs des abscisses
    Par coco38 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 10/04/2007, 10h25
  4. Jtable : ne pas afficher toute les colonnes
    Par ericT dans le forum Composants
    Réponses: 3
    Dernier message: 02/08/2006, 11h54

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