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] Comparer des valeurs dans un tableau


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de Dirty Harry
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut [Tableaux] Comparer des valeurs dans un tableau
    Bonjour,

    Je dois parcourir un tableau afin de comparer chacune des valeurs ensemble. Si exemple la valeur de la clé 0 est égale à la valeur de la clé 1, je fais une action.

    voici comment je parcour mon tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach($liste as $key => $value){
    	echo $liste[$key]['courriel'];
            echo $liste[$key]['paragraphe'];
    }
    de quelle manière pourrais-je comparer les valeurs de ce tableau....si je retrouve des valeur identique, je concatène leur paragraphe ensemble......

    merci

  2. #2
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($liste[$key]['courriel']==$liste[$key]['paragraphe']) { }
    Non?

  3. #3
    Membre du Club Avatar de Dirty Harry
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par J0r_x
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($liste[$key]['courriel']==$liste[$key]['paragraphe']) { }
    Non?

    Non.....$liste[$key]['courriel'] contient le courriel du paragraphe $liste[$key]['paragraphe'].....ce que je veux faire c'est de comparer chaque courriel de chaque paragraphe et si y en a des pareil, je concatène leur paragraphes

  4. #4
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    okok alors faut deux boucle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    foreach($liste as $key => $value){
        $val=echo $liste[$key]['courriel'];
        foreach($liste as $key => $value){
            if ($val==$liste[$key]['courriel']) { 
                //ton action sur les paragrahes
            }
        }
    }
    Je sais pas si ca marche j'ai pas tester mais c'est ce principe la qu'il faut utiliser

  5. #5
    Membre du Club Avatar de Dirty Harry
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    ça ne marche pas tout à fait.....j,avais déja testé.....le problème est qu'il affiche (si je fait un echo dans la deuxieme boucle) la valeur en double.......

  6. #6
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    et ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    foreach($liste as $key => $value){
        $val=echo $liste[$key]['courriel'];
        $i=$key;
        foreach($liste as $key => $value){
            if ($val==$liste[$key]['courriel']&&$i!=$key) { 
                //ton action sur les paragrahes
            }
        }
    }

  7. #7
    Membre du Club Avatar de Dirty Harry
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Je réexplique un peu.....

    voici mon tableau:

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Array
    (
        ['courriel'] => toto@toto.com
        ['paragraphe'] => bla bla bla bla bla
    )
    Array
    (
        ['courriel'] => titi@toto.com
        ['paragraphe'] => bla bla bla bla bla
    )
    Array
    (
        ['courriel'] => tata@toto.com
        ['paragraphe'] => bla bla bla bla bla
    )

    je veux parcourir le tableau afin de comparer les courriel semblable.....si j'en rancontre des semblables, je concatène la valeur de leur paragraphe.

  8. #8
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Bah c'est ce que j'ai fait

  9. #9
    Membre du Club Avatar de Dirty Harry
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par J0r_x
    et ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    foreach($liste as $key => $value){
        $val=echo $liste[$key]['courriel'];
        $i=$key;
        foreach($liste as $key => $value){
            if ($val==$liste[$key]['courriel']&&$i!=$key) { 
                //ton action sur les paragrahes
            }
        }
    }
    un peu mieux mais, ca ne fonctionne pas tout à fait...on dirais que les dernieres valeur semblable sont affiché correctement, mais les premieres sont en triple......

  10. #10
    Membre du Club Avatar de Dirty Harry
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 111
    Points : 53
    Points
    53

  11. #11
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $liste_tri = array(); 
    foreach($liste as $valeur)
    {
    $liste_tri[$valeur['courriel']] .= $valeur['paragraphe'];
    }
    Une nouvelle liste trié avec une clef de tableau par courriel ne serait pas la réponse à ce que tu recherches à faire ? (puisque tu veux un paragraphe unique pour un courriel)

  12. #12
    Membre du Club Avatar de Dirty Harry
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    mon tableau est plutôt comme ceci:


    Code X : 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{
           [0] => Array
                 (
                   ['courriel'] => toto@toto.com
                   ['paragraphe'] => bla bla bla bla bla
                 )
           [1] => Array
                 (
                   ['courriel'] => titi@toto.com
                   ['paragraphe'] => bla bla bla bla bla
                 )
           [2] => Array
                (
                  ['courriel'] => tata@toto.com
                  ['paragraphe'] => bla bla bla bla bla
                )  
    }
    voila

  13. #13
    Membre du Club Avatar de Dirty Harry
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 111
    Points : 53
    Points
    53
    Par défaut

  14. #14
    Membre averti Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Points : 342
    Points
    342
    Par défaut Pourquoi pas?
    as tu essayé la fonction $tab1 = array_diff($tab1 , $tab2); ???
    en gros, avec cette fonction, si des éléments sont présents dans les deux tableaux, $tab1 contient que les elements qui ne sont pas dans $tab2.

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

Discussions similaires

  1. Comparer des valeurs dans un tableau de manière systématique
    Par kay600 dans le forum ActionScript 3
    Réponses: 3
    Dernier message: 27/06/2010, 19h34
  2. Réponses: 6
    Dernier message: 26/12/2006, 17h01
  3. Réponses: 3
    Dernier message: 12/06/2006, 12h04
  4. [Tableaux]Ajouter des valeurs dans un tableau
    Par Antoine1183 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 03/04/2005, 13h41
  5. Décaler des valeurs dans un tableau
    Par sh2003 dans le forum Langage
    Réponses: 6
    Dernier message: 20/03/2004, 16h01

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