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 :

Algorithmique pour stocker des valeurs communes à 2 tableaux


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    amateur
    Inscrit en
    Juillet 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Juillet 2017
    Messages : 14
    Points : 17
    Points
    17
    Par défaut Algorithmique pour stocker des valeurs communes à 2 tableaux
    Bonjour à tous,

    J'aimerai créer de façon dynamique des tableaux qui stockeraient des valeurs à chaque fois qu'elles sont trouvées dans les deux:
    Nom : tab.png
Affichages : 215
Taille : 94,2 Ko

    Les structures de mes valeurs sont les suivantes:

    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
    $newIndexJustStepID= [
        0 =>  2,
        1 =>  3,
        2 =>  4,
    ];
     
     
    $allSeparatePairById = [
        0 =>  ['s' => 2, 'p' => 1,],
        1 => ['s' => 2, 'p' => 3],
        2 => ['s' => 2, 'p' => 4],
        3 => ['s' =>  2, 'p' =>  5],
        4 =>  ['s' =>  2, 'p' =>  6],
        5 =>  ['s' =>  2, 'p' =>  7],
        6 =>  ['s' =>  2, 'p' =>  8],
        7 =>  ['s' =>  3, 'p' =>  9],
        8 =>  ['s' =>  4, 'p' => 11]
    ];
     
    for ($i=0; $i<count($allSeparatePairById); $i++){
        for ($j=0; $j<count($newIndexJustStepID); $j++){
            if( $newIndexJustStepID[$j]===$allSeparatePairById[$i]["s"] ){
                        ?????????????????????????
            }
        }
    }
    J'ai essayé de nombreuses solutions pour l'instant sans succès comme créer le même nombre de tableaux mais comment les alimenter avec les bonnes valeurs ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for($i=1; $i<=count($newIndexJustStepID); $i++){
        ${"tab".$i} = $allSeparatePairById;
    }
    Merci pour votre aide,

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 228
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 228
    Points : 8 487
    Points
    8 487
    Billets dans le blog
    17
    Par défaut
    Au final, tu veux indexer les éléments de $allSeparatePairById clef "p" selon les éléments clef "s".

    Pas besoin de variables dynamiques (c'est rarement une bonne solution), il suffit de passer par un tableau.

    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
    <?php
     
    $allSeparatePairById = [
        0 => ['s' => 2, 'p' => 1],
        1 => ['s' => 2, 'p' => 3],
        2 => ['s' => 2, 'p' => 4],
        3 => ['s' => 2, 'p' => 5],
        4 => ['s' => 2, 'p' => 6],
        5 => ['s' => 2, 'p' => 7],
        6 => ['s' => 2, 'p' => 8],
        7 => ['s' => 3, 'p' => 9],
        8 => ['s' => 4, 'p' => 11],
    ];
     
    $result = [];
    foreach ($allSeparatePairById as ['s' => $s, 'p' => $p]) {
        $result[$s][] = $p;
    }
    print_r($result);
    Donne :

    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
    Array (
        [2] => Array (
            [0] => 1
            [1] => 3
            [2] => 4
            [3] => 5
            [4] => 6
            [5] => 7
            [6] => 8
        )
        [3] => Array (
            [0] => 9
        )
        [4] => Array (
            [0] => 11
        )
    )

  3. #3
    Membre à l'essai
    Homme Profil pro
    amateur
    Inscrit en
    Juillet 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Juillet 2017
    Messages : 14
    Points : 17
    Points
    17
    Par défaut
    Merci pour ton retour , je vais essayer de creuser pour obtenir de façon automatique ce résultat.

Discussions similaires

  1. [Débutant] Stocker des valeurs obtenues pour trois variables dans une boucle
    Par Doctorant_GC dans le forum MATLAB
    Réponses: 6
    Dernier message: 27/06/2018, 12h43
  2. utiliser un tableau pour stocker des valeurs alphanum
    Par tibofo dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 26/03/2010, 09h07
  3. Réponses: 6
    Dernier message: 09/12/2007, 14h32
  4. Meilleur type table pour stocker des valeurs numérique
    Par vodevil dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/04/2006, 20h42
  5. [CSS] regrouper des valeurs communes
    Par nixonne dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 28/08/2005, 03h49

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