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 :

Recuperer les resultats de chiffres qui sont uniquement les memes dans deux fichiers different


Sujet :

Langage PHP

  1. #41
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 881
    Points : 6 610
    Points
    6 610
    Par défaut
    en fait ce que tu cherches à faire 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
    16
    17
    18
    19
    20
    21
    22
    $pattern = '~^([0-9]+(?:-[0-9]+){1,3})-\h*(.+)~m';
     
    if (preg_match_all($pattern, $fileA, $mA) && preg_match_all($pattern, $fileB, $mB)) {
        // on crée un tableau associatif dont les clefs sont les parties textes et les valeurs sont la série de nombre
        $arrayA = array_combine($mA[2], $mA[1]);
        $arrayB = array_combine($mB[2], $mB[1]);
     
        // on enleve les doublons (i.e: ceux qui ont la même valeur, donc la même série de nombre)
        $arrayA = array_unique($arrayA);
        $arrayB = array_unique($arrayB);
     
        // on ne conserve que les entrées de $arrayA dont la valeur se trouve dans $arrayB
        $arrayA = array_intersect($arrayA, $arrayB);
        // on échange les clefs et les valeurs pour $arrayB
        $arrayB = array_flip($arrayB);
     
        // Affichage
        foreach ($arrayA as $k=>$v) {
            echo $v . "\t" . $k . "\n";
            echo $v . "\t" . $arrayB[$v] . "\n"; 
        }
    }
    Oui, les lignes que tu cites servent effectivement d'exemple.

    <pre> est une balise html pour afficher du texte formaté (en prenant en compte les espaces), c'est ici juste pour voir les sauts de lignes dans l'affichage.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  2. #42
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    C'est exactement cela, merci beaucoup.

    Il me faudrait creer le fichier et non l'afficher, pour que je puisse l'utiliser, je ne vois pas comment faire, d'apres ce que j'ai lu sur internet fopen, il ne serait pas adapté ...

  3. #43
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Bonjour,
    je remarque un probleme, le code fonctionne, mais ne mets que des series complete de nombre, il ne prend pas un nombre dans une serie, mais c'est soit toute la serie ou rien,
    or il faudrait que je puisse avoir un nombre ( compris entre 1 chiffre et 4 chiffre maxi), parmi la serie de nombre.

    Faut il modifier seulement la regex ou avoir un nouveau code adapaté ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/12/2012, 09h41
  2. Réponses: 7
    Dernier message: 05/08/2010, 18h42
  3. Réponses: 6
    Dernier message: 15/05/2008, 15h20
  4. Réponses: 7
    Dernier message: 27/07/2006, 23h09

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