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. #21
    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
    Citation Envoyé par sabotage Voir le message
    Et tu ne demandes pas pourquoi il y a des numéros dans le code ?
    Ces lignes c'était juste pour l'exemple sans fichier.
    Ben si justement, je me demandais pourquoi il y etait puisque normalement seul le programme devait le faire, comment je sais pas.

    Je pensais que ces numero ne devait pas etre mis manuellement, mais je croyais que tu cherchais une autre reponse.

    Cela dit j'en reste au meme point, je sais pas comment faire mieux.

  2. #22
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    tu construis $b comme $a c'est tout.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #23
    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
    J'ai fait plusieurs essais,
    lorsque je fais ainsi :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $a = file_get_contents('Nodeparcourside1.txt');
     
     $b = file_get_contents('Nodeparcourside2.txt');
     
    preg_match_all('#\d+#' , $a, $output_a);
    preg_match_all('#\d+#' , $b, $output_b);
     
    var_dump(array_intersect($output_a[0], $output_b[0])); 
    ?>
    Je ne sais pas si la syntaxe est valable.

    j'obtiens ceci, sinon avec l'exemple c'etait 7 ou 8 ligne pas plus...

    array (size=53)
    0 => string '678' (length=3)
    1 => string '678' (length=3)
    2 => string '678' (length=3)
    3 => string '678' (length=3)
    5 => string '45' (length=2)
    7 => string '345' (length=3)
    8 => string '67' (length=2)
    9 => string '456' (length=3)
    10 => string '345' (length=3)
    11 => string '67' (length=2)
    12 => string '456' (length=3)
    13 => string '345' (length=3)
    14 => string '67' (length=2)
    15 => string '456' (length=3)
    16 => string '345' (length=3)
    17 => string '67' (length=2)
    18 => string '456' (length=3)
    19 => string '456' (length=3)
    22 => string '67' (length=2)
    23 => string '456' (length=3)
    26 => string '67' (length=2)
    27 => string '456' (length=3)
    30 => string '67' (length=2)
    31 => string '456' (length=3)
    34 => string '67' (length=2)
    35 => string '456' (length=3)
    38 => string '67' (length=2)
    39 => string '456' (length=3)
    42 => string '67' (length=2)
    43 => string '456' (length=3)
    46 => string '67' (length=2)
    47 => string '456' (length=3)
    48 => string '456' (length=3)
    49 => string '456' (length=3)



    Edit:
    Je te remercie beaucoup Sabotage pour ta patience et ton aide, ca a pas ete facile vu que je debute.

  4. #24
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    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 858
    Points : 6 556
    Points
    6 556
    Par défaut
    En fait tu obtiens ça parce que array_intersect($array1, $array2) renvoie toutes les valeurs de $array1 qui sont présentes dans $array2. Donc si une même valeur se trouve plusieurs fois dans $array1, il suffit qu'elle se trouve ne serait-ce qu'une fois dans $array2 pour que array_instersect les renvoie toutes.

    Pour pallier au problème il suffit de s'assurer que les valeurs du premier tableau sont uniques en appliquant la fonction array_unique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump(array_intersect(array_unique($output_a[0]), $output_b[0]));
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  5. #25
    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 Cosmoknacki, merci de m'aider.

    J'ai essaye d'ajouter ton code, je l'ai fait de differente façon, je ne connais pas la syntaxe ces codes sont tout nouveau pour moi, le tutoriel de php et mysql ne montre pas de tel code et syntaxe :

    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
    <?php
    $a = file_get_contents('Nodeparcourside1.txt');//On ouvre le fichier 
     
     $b = file_get_contents('Nodeparcourside2.txt');
     
     
       preg_match_all('#\d+#' , $a, $output_a);
       preg_match_all('#\d+#' , $b, $output_b);
     
           var_dump(array_instersect(array_unique($output_a[0]), $output_b[0]));/*Cette ligne va rendre unique chaque chiffre pour eviter le
    trop plein de nombre */
     
          var_dump(array_intersect($output_a[0], $output_b[0])); //Cette ligne sert a montrer le doubblons
     
    ?>

    Voici que me repond localhost:

    Fatal error: Call to undefined function array_instersect()


    D'autre part je voudrais savoir comment fonctionne exactement cette ligne :
    preg_match_all('#\d+#' , $a, $output_a);

    Bon j'ai revisé ma regex, je comprend mieux maintenant.

  6. #26
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    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 858
    Points : 6 556
    Points
    6 556
    Par défaut
    array_instersect
    J'ai fait une faute de frappe, il fallait lire array_intersect.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  7. #27
    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 de ma faute j'aurais du mieux lire.

    Ca fonctionne,
    mais voici la liste des nombres, c'est bon :
    array (size=7)
    0 => string '678' (length=3)
    5 => string '45' (length=2)
    7 => string '345' (length=3)
    8 => string '67' (length=2)
    9 => string '456' (length=3)
    59 => string '567' (length=3)
    72 => string '342' (length=3)

    array (size=53)
    0 => string '678' (length=3)
    1 => string '678' (length=3)
    2 => string '678' (length=3)
    3 => string '678' (length=3)
    5 => string '45' (length=2)
    7 => string '345' (length=3)
    8 => string '67' (length=2)
    9 => string '456' (length=3)
    10 => string '345' (length=3)
    11 => string '67' (length=2)
    12 => string '456' (length=3)
    13 => string '345' (length=3)
    14 => string '67' (length=2)
    15 => string '456' (length=3)
    16 => string '345' (length=3)
    17 => string '67' (length=2)
    18 => string '456' (length=3)
    19 => string '456' (length=3)
    22 => string '67' (length=2)
    23 => string '456' (length=3)
    26 => string '67' (length=2)
    27 => string '456' (length=3)
    30 => string '67' (length=2)
    31 => string '456' (length=3)
    34 => string '67' (length=2)
    35 => string '456' (length=3)
    38 => string '67' (length=2)
    39 => string '456' (length=3)
    42 => string '67' (length=2)
    43 => string '456' (length=3)
    46 => string '67' (length=2)
    47 => string '456' (length=3)
    48 => string '456' (length=3)
    49 => string '456' (length=3)
    50 => string '456' (length=3)
    51 => string '456' (length=3)
    52 => string '456' (length=3)
    53 => string '456' (length=3)
    54 => string '456' (length=3)
    55 => string '456' (length=3)
    56 => string '456' (length=3)
    57 => string '456' (length=3)
    58 => string '456' (length=3)
    59 => string '567' (length=3)
    60 => string '567' (length=3)
    61 => string '567' (length=3)
    62 => string '567' (length=3)
    63 => string '456' (length=3)
    66 => string '567' (length=3)
    67 => string '456' (length=3)
    72 => string '342' (length=3)
    73 => string '342' (length=3)
    74 => string '345' (length=3)



    Je ne m'attendais pas a avoir autant de nombre, pour bien faire il faudrait un nom et le nombre :

    array (size=1)
    0 => string '678' nom_de_la_personne (length=3)

    Est ce qu'il suffit de modifier la regex ou faut 'il modifier le code ?

    J' ai mis w a la place de d, ca fonctionne, mais pas comme je voudrais puisqu 'il faudrait que le nom soit a la suite du nombre, sans qu'il soit pris en compte d' etre un doublon.

  8. #28
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    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 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Tu devrais donner en exemple plusieurs lignes de tes deux fichiers (ou d'un seul s'ils ont exactement le même format) car ça change un peu tout le problème.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  9. #29
    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
    Ca va etre plus complexe,
    si on pouvait recuperer ceci:

    Fichier I:

    167-345-34-238-Ie_Corps_Vandamme posture agressive

    67-345-34-38- IIIe_Corps_Souham posture agressive

    167-345-34-238-IIe_Corps_Victor posture agressive



    Fichier II:
    67-345-34-38-2nd_Light_Div_Bubna posture agressive

    16-345-34-38- Res_Cav_Gallitzin posture agressive

    167-345-34-238-Ru_Corps_Sacken posture agressive



    Il faudrait que le nom et la posture soit conservés devant les nombres doublons,
    pour avoir un truc du genre, ci dessous ( posture agressive peut etre sur la meme ligne que le nom, ou dessous ):


    array (size=1)
    0 => string '678' Ie_Corps_Vandamme posture agressive (length=3)

  10. #30
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    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 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Désolé mais il serait bien de se mettre à la pratique (assidue) de l'exemple compréhensible. D'où sort 678?
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  11. #31
    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
    678 est juste un exemple, ne venant pas de mon dernier message.

    J'ai mis n'importe quoi, juste pour un exemple.

    Edit:

    J'ai mis sur une seule ligne tout ce qu'il faudrait entrer dans le programme, ( j'ai modifier le code chez moi pour avoir tout sur une meme ligne).

    Edit:
    j'aurais du mettre:
    167-345-34-238 pour l'exemple.

  12. #32
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    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 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Donc il ne s'agit pas d'un seul nombre mais bien d'une série de 4 nombres séparés de tirets qui doivent être en commun entre les deux fichiers?
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  13. #33
    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
    Ca peut etre un seul nombre comme 2, 3 ou 4 nombres qui doivent être en commun entre les deux fichiers.

  14. #34
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    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 858
    Points : 6 556
    Points
    6 556
    Par défaut
    D'accord, mais rassures-moi, dans tous les cas il faut bien prendre en compte toute la série, pas juste une partie?
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  15. #35
    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
    Toute la serie.

  16. #36
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    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 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Et est-ce que pour chaque ligne du premier fichier, la partie texte est unique?
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  17. #37
    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
    La partie texte est unique a chaque ligne.

    Edit:
    Sauf "posture agressive" qu'on peut retrouver sur beaucoup de ligne des deux fichiers.

  18. #38
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    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 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Ok, donc tu peux faire ç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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <pre><?php
    $fileA=<<<EOD
    167-345-34-238-Ie_Corps_Vandamme posture agressive
    67-345-34-38- IIIe_Corps_Souham posture agressive
    167-345-34-238-IIe_Corps_Victor posture agressive
    EOD;
     
    $fileB=<<<EOD
    67-345-34-38-2nd_Light_Div_Bubna posture agressive
    16-345-34-38- Res_Cav_Gallitzin posture agressive
    167-345-34-238-Ru_Corps_Sacken posture agressive
    EOD;
     
    $patternA = '~^([0-9]+(?:-[0-9]+){1,3})-\h*(.+)~m';
    $patternB = '~^[0-9]+(?:-[0-9]+){1,3}~m';
     
    if (preg_match_all($patternA, $fileA, $mA) && preg_match_all($patternB, $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]);
     
        // 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($mB[0]);
     
        // on ne conserve que les entrées de $arrayA dont la valeur se trouve dans $arrayB
        $arrayA = array_intersect($arrayA, $arrayB);
     
        // Affichage
        foreach ($arrayA as $k=>$v) {
            echo $v . "\t" . $k . "\n";
        }
    }
    détail de $patternA:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ~ # délimiteur
    ^ # ancre de début de ligne
    (  # on ouvre le groupe de capture 1 (on récupéra alors son contenu dans $mA[1])
        [0-9]+    # 1 ou plusieurs chiffres
        (?:        # groupe non capturant (pour pouvoir répéter la pattern contenu à l'intérieur)
            -        # tiret
            [0-9]+
        ){1,3} # on répète le groupe non-capturant de 1 à 3 fois (suivant)
    )  # fin du groupe de capture 1
    -
    \h*  # espaces horizontaux optionels
    (.+) # on capture tout (le texte) jusqu'à la fin de la ligne dans le groupe de capture 2 (donc $mA[2])
    ~
    m    # modificateur m: signifie que ^ correspond au début de ligne (par défaut ^ correspond au début de la chaîne)
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  19. #39
    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
    J'ai fait un copié collé, cela donne :
    167-345-34-238 Ie_Corps_Vandamme posture agressive
    67-345-34-38 IIIe_Corps_Souham posture agressive

    Pour les ligne c'est exactement ce que je voulais.

    Mais dans le deuxieme fichier cette ligne qui a les meme nombres :

    167-345-34-238-Ru_Corps_Sacken posture agressive,

    n'apparait pas dans l'essai.

  20. #40
    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
    Voici le code avec mes fichiers :

    Je suppose ( a tord ? ) que ces lignes servent d'exemple ?
    $fileA=<<<EOD
    167-345-34-238-Ie_Corps_Vandamme posture agressive
    67-345-34-38- IIIe_Corps_Souham posture agressive
    167-345-34-238-IIe_Corps_Victor posture agressive
    EOD;

    $fileB=<<<EOD
    67-345-34-38-2nd_Light_Div_Bubna posture agressive
    16-345-34-38- Res_Cav_Gallitzin posture agressive
    167-345-34-238-Ru_Corps_Sacken posture agressive
    EOD;

    <pre>et </pre> jamais vu cette syntaxe avant <?php et ?> ???


    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
    48
    <pre><?php
    $fileA = file_get_contents('rapportside1.txt');//On ouvre le fichier 
     
     $fileB = file_get_contents('rapportside2.txt');
     
     
    $patternA = '~^([0-9]+(?:-[0-9]+){1,3})-\h*(.+)~m';
    $patternB = '~^[0-9]+(?:-[0-9]+){1,3}~m';
     
    if (preg_match_all($patternA, $fileA, $mA) && preg_match_all($patternB, $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]);
     
        // 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($mB[0]);
     
        // on ne conserve que les entrées de $arrayA dont la valeur se trouve dans $arrayB
        $arrayA = array_intersect($arrayA, $arrayB);
     
        // Affichage
        foreach ($arrayA as $k=>$v) {
            echo $v . "\t" . $k . "\n";
        }
    } 
     
    /*
    détail de $patternA:
    
    ~ # délimiteur
    ^ # ancre de début de ligne
    (  # on ouvre le groupe de capture 1 (on récupéra alors son contenu dans $mA[1])
        [0-9]+    # 1 ou plusieurs chiffres
        (?:        # groupe non capturant (pour pouvoir répéter la pattern contenu à l'intérieur)
            -        # tiret
            [0-9]+
        ){1,3} # on répète le groupe non-capturant de 1 à 3 fois (suivant)
    )  # fin du groupe de capture 1
    -
    \h*  # espaces horizontaux optionels
    (.+) # on capture tout (le texte) jusqu'à la fin de la ligne dans le groupe de capture 2 (donc $mA[2])
    ~
    m    # modificateur m: signifie que ^ correspond au début de ligne (par défaut ^ correspond au début de la chaîne)
    */
    ?>
    </pre>
    C'est bon ca marche, merci beaucoup, mais j'aurais aimé avoir le nombre et le nom de l'autre fichier, qui apparaisse aussi...

    Je remarque qu'il me faudrait aussi crée le fichier, plutot que l'afficher, je pense a fopen, et le mode a pour creer le fichier, mais je ne vois pas comment faire la syntaxe a la suite de ton code.

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