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 :

Distribution valeur trié.


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut Distribution valeur trié.
    Bonjour,

    J'ai une problématique que je n'arrive pas a résoudre.
    Donc je m'explique, j'ai ci-dessous un tableau a plusieurs dimension et chaque tableau contient des valeurs trié.
    Chaque valeur trié doivent former un nouveau tableau mais voila j'arrive pas a trouvé la routine pour distribuer les valeurs sans que ca fasse doublon et que la répartition soit bonne.

    Merci pour votre aide.

    Exemple tableau trié.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    array:5 [
      "test1" => array:4 [
        0 => "test2"
        1 => "test3"
        2 => "test4"
        3 => "test5"
      ]
      "test2" => array:4 [
        0 => "test1"
        1 => "test3"
        2 => "test4"
        3 => "test5"
      ]
      "test3" => array:4 [
        0 => "test1"
        1 => "test2"
        2 => "test4"
        3 => "test5"
      ]
      "test4" => array:4 [
        0 => "test1"
        1 => "test2"
        2 => "test3"
        3 => "test5"
      ]
      "test5" => array:4 [
        0 => "test1"
        1 => "test2"
        2 => "test3"
        3 => "test4"
      ]
    ]
    Un des résultats attendu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    array:5 [
      "test1" => "test2"
      "test2" => "test1"
      "test3" => "test4"
      "test4" => "test5"
      "test5" => "test3"  
    ]

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- Montre ce que tu as fait

    2- doublons : array_unique()

    3- COMMENT est-on censé obtenir le résultat ?
    • QUELLES sont les contraintes ?
    • Quelle est la LOGIQUE ?

  3. #3
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Je te donne une de mes dernières tentative qui j'espére sera plus parlant.
    Sachant que coté contrainte, je dois avoir un élément de chaque tableau trié dans un nouveau tableau et qu'il ne soit pas en doublon.

    Merci a toi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
            $sortVal = [
                "test1" => [
                    "test2",
                    "test3",
                    "test4",
                    "test5",
                ],
                "test2" => [
                    "test1",
                    "test3",
                    "test4",
                    "test5",
                ],
                "test3" => [
                    "test1",
                    "test2",
                    "test4",
                    "test5",
                ],
                "test4" => [
                    "test1",
                    "test2",
                    "test3",
                    "test5",
                ],
                "test5" => [
                    "test1",
                    "test2",
                    "test3",
                    "test4",
                ],
            ];
            foreach ($sortVal as $keys => $val) {
                foreach ($val as $underKey => $underArray) {
                        for ($p = 0; $p <= 4; $p++) {
                            if (!array_key_exists($p, $data)) {
                                $data[$p] = [];
                            }
     
                            if (!array_key_exists($keys, $data[$p]) && !in_array($underArray, $data[$p])) {
                                $data[$p][$keys] = $underArray;
                                unset($sortVal[$keys][$underKey]);
                                break;
                            }
                        }
                }
            }

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ça n'explique toujours pas la LOGIQUE qui permettrait d'obtenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    array:5 [
      "test1" => "test2"
      "test2" => "test1"
      "test3" => "test4"
      "test4" => "test5"
      "test5" => "test3"  
    ]
    Peut-être qu'avec des données MOINS bidons, on comprendrait mieux...

  5. #5
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    C'est ça ma problématique comment en partant de mon tableau a plusieurs dimensions je peux avoir un tableau comme ci-dessous et donc autant de tableau que de possibilité.

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    array:5 [
      "test1" => "test2"
      "test2" => "test1"
      "test3" => "test4"
      "test4" => "test5"
      "test5" => "test3"  
    ]

  6. #6
    Invité
    Invité(e)
    Par défaut
    Le "mieux" que j'obtiens, c'est ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $sortKeys = array_keys( $sortVal );
    var_dump( $sortKeys );
     
    $data = [];
    foreach( $sortKeys as $key )
    {
    	foreach( $sortVal as $val )
    	{
    		foreach( $val as $key2 => $val2 )
    		{
    			if( empty($data[$key]) && !in_array($val2,$data) ) { $data[$key] = $val2; }
    		}
    	}
    }
    var_dump( $data );
    Ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      'test1' => string 'test2' (length=5)
      'test2' => string 'test3' (length=5)
      'test3' => string 'test4' (length=5)
      'test4' => string 'test5' (length=5)
      'test5' => string 'test1' (length=5)

  7. #7
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Merci ça marche bien pour faire un tableau mais quand j'essai de créé tous les tableaux possible avec les différente valeur ça bloque.
    C'est que j'avais essayé de faire dans mon exemple mais sans succès.

    Merci a toi.

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

Discussions similaires

  1. Tri des valeurs dans un DBGrid
    Par soviet dans le forum C++Builder
    Réponses: 3
    Dernier message: 11/06/2015, 14h18
  2. Algorithme spécial pour distribuer valeurs triées
    Par Vulvulune dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 02/03/2008, 23h50
  3. Tri par valeur d un hash de hash
    Par LeLaulau dans le forum Langage
    Réponses: 4
    Dernier message: 28/09/2005, 10h33
  4. Tri par la moyenne des valeurs de champs ?
    Par rozwel dans le forum Requêtes
    Réponses: 8
    Dernier message: 28/01/2005, 18h35
  5. [langage] Tri de valeurs dans un hash
    Par Arioch dans le forum Langage
    Réponses: 2
    Dernier message: 15/11/2004, 11h35

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