PHP: Mélanger un tableau de tableau de manière aléatoire

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par KOogar, 11 Juin 2009.

  1. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    81
    Bonjour,

    Comment mélanger un tableau de tableau de manière aléatoire ??

    Array (
    [0] => Array ( [id] => 10 [identifiant] => A20)
    [1] => Array ( [id] => 11 [identifiant] => A21)
    [2] => Array ( [id] => 12 [identifiant] => A22)
    )
     
  2. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 977
    J'aime reçus:
    121
  3. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    81
    oui, j'ai essayé avec shuffle mais je n'arrive pas a mélanger les clés, heureusement que je peux trier autrement donc je m'en sors avec un array_multisort($tab, SORT_DESC) mais c'est pas ce qu'il y a de plus pertinent. J'ai bien une idée en tete, mais ca me fait faire une lecture sur les clés avec array_keys() et j'ai pas trop envie de modifier le reste du code qui suis. Une fonction qui fasse tout en un serait l'idéal
     
  4. neuneu
    neuneu Nouveau WRInaute
    Inscrit:
    30 Juillet 2004
    Messages:
    44
    J'aime reçus:
    0
    Code:
    
    function melange(&$array) { 
     $val = array();
     $keys = array_keys($array);
     shuffle($keys);
     foreach($keys as $key) { 
                $val[$key] = $array[$key]; 
               unset($array[$key]); 	} 
     $array = $val;}
    
    
    Ca devrait faire l'affaire.
     
  5. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    81
    thx, voyons voir..ca devrait fonctionnerr... mais il ne se passe rien...ok j'ai trouvé le probléme, il ne faut pas essayer de réindicé $val et pour éviter le $global un return s'impose....et c'est bouclé :D

    Code:
     function melange($array) {
      $val = array();
      $keys = array_keys($array);
      shuffle($keys);
         foreach($keys as $key) $val[] = $array[$key];
           return $val;
         }
     
     
  6. bidulemachin
    bidulemachin WRInaute discret
    Inscrit:
    5 Octobre 2007
    Messages:
    100
    J'aime reçus:
    0
    A noter que la fonction shuffle() mélange les clés ! Pour éviter de changer les clés, personnellement j'utilise ça :

    //$shuff étant ton array
    uasort( $shuff, 'scmp' );

    function scmp( $a, $b ) {
    return rand(-1,1);
    }
     
  7. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    81
    de mon coté je travaille uniquement les datas en sortie, donc pour moi ca n'a aucune importance le mélange des clés. Je peux en 3 secondde me faire une copie de la table si besoin

    j'aime bien ton algo mais je comprend pas tout, tu pourrais l'expliquer stp?
     
Chargement...
Similar Threads - PHP Mélanger tableau Forum Date
Indent en mode PHP ? Développement d'un site Web ou d'une appli mobile 9 Juin 2022
Arborescence de classes PHP et séquentialité. Développement d'un site Web ou d'une appli mobile 16 Mai 2022
Afficher des infos depuis plusieurs page en PHP Développement d'un site Web ou d'une appli mobile 23 Mars 2022
Sites de scripts PHP, jQuery, Ajax, etc. Le café de WebRankInfo 20 Mars 2022
Détecter arrêt user d'un script PHP ? Développement d'un site Web ou d'une appli mobile 28 Décembre 2021
sessions PHP sans cookies ? Développement d'un site Web ou d'une appli mobile 26 Décembre 2021
Afficher la dernière version d'un fichier php ? Développement d'un site Web ou d'une appli mobile 8 Novembre 2021
PHP / CURL : interrogation page tiers ne fonctionne plus Développement d'un site Web ou d'une appli mobile 2 Octobre 2021
Actualiser un script php toutes les 10 secondes Développement d'un site Web ou d'une appli mobile 6 Septembre 2021
PHP : problème de comparaison égalité dans boucle FOR avec incrément décimal de 0.1 Développement d'un site Web ou d'une appli mobile 26 Août 2021
Cache Etag nginx et PHP ? Administration d'un site Web 7 Août 2021
Fichier avec ou sans extension php pour le référencement Crawl et indexation Google, sitemaps 3 Août 2021
mon code ne fonctionne pas pour masquer les .php URL Rewriting et .htaccess 31 Juillet 2021
Malware S.Susp.PHP.gen... Administration d'un site Web 15 Juillet 2021
La fonction mail (PHP) ne passe pas ! Demandes d'avis et de conseils sur vos sites 28 Juin 2021
Fonction récursive PHP. Développement d'un site Web ou d'une appli mobile 24 Avril 2021
Redirections .htm en .php URL Rewriting et .htaccess 16 Mars 2021
URL avec et sans .php Développement d'un site Web ou d'une appli mobile 14 Mars 2021
Astuce [PHP] Récolter ville, pays du visiteur Développement d'un site Web ou d'une appli mobile 9 Mars 2021
Quel script PHP conversion HTML -> JSON ? Développement d'un site Web ou d'une appli mobile 17 Février 2021