tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
1664
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Arndtinho Arndtinho ist offline Mitglied Platin
    Registriert seit
    Oct 2003
    Beiträge
    564
    Hallo,

    ich lese den Inhalt (Adressdaten) einer csv-Datei aus. Das klappt ohne Probleme.
    Nun möchte ich gern das Array auf doppelte Einträge bezüglich Name und Strasse prüfen und alle doppelten Einträge löschen.
    Kennt jemand ein Tutorial dazu oder hat einen Tipp für mich, wie man sowas realisieren kann?

    Gruß
    Arndtinho
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Wie ist denn das Array aufgebaut? Hast du’s schon mit der array_unique()-Funktion probiert?
     
    Markus Wulftange

  3. #3
    Arndtinho Arndtinho ist offline Mitglied Platin
    Registriert seit
    Oct 2003
    Beiträge
    564
    Das Array erhalte ich durch die Funktion fgetcsv(). Jedes Element hat drei Subelemente (Name, Strasse, Telefon).
     

  4. #4
    ezias ezias ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Ort
    München
    Beiträge
    147
    Hallo im prinzip könntest du das doch so machen oder?

    PHP-Code:
    <?php

    $array
    //Array mit deinen daten
    $array2 = array (); //Array 2 zum überprüfen der doppelten inhalte

    foreach ($array as $value)
    {
     if (!
    in_array ($value$array2))
     {
      
    $array2[] = $value;
     }
    }
    ?>
    in $array2 sollte dann sämtlichen elemente nur einmal vorhanden sein.
     

  5. #5
    Arndtinho Arndtinho ist offline Mitglied Platin
    Registriert seit
    Oct 2003
    Beiträge
    564
    Das könnte ich probieren.
    Ist es denn eigentlich möglich auf bestimmte Werte des Array abzuprüfen?

    Eine Firma kommt in der csv-Datei mehrmals vor, nur weil verschiedene Telefonnummern angegeben wurden. Solche doppelten Einträge möchte ich entfernen. Also möchte ich das Array auf Name und Strasse abprüfen.

    Geht sowas zu machen?


    Gruß
    Arndtinho
     

  6. #6
    ezias ezias ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Ort
    München
    Beiträge
    147
    ich kann mir grad nicht so ganz vorstellen wie dein array aufgebaut ist poste das mal bitte in der Form:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    Array
    {
     [0] => Array
               {
                [0] => lala
                [1] => lala2
               }
    }

    Kannst ja mittels
    PHP-Code:
    echo "<pre>";
    print_r ($array);
    echo 
    "</pre>"
    das so ausgeben lassen und bloß noch hier rein kopieren.
     

  7. #7
    Arndtinho Arndtinho ist offline Mitglied Platin
    Registriert seit
    Oct 2003
    Beiträge
    564
    Hallo,

    das Array sieht so aus bzw. hat folgenden Aufbau:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    Array
    (
        [0] => Lars
        [1] => 7645
        [2] => Muster b
    )
    Array
    (
        [0] => Jens
        [1] => 2345
        [2] => Muster c
    )
    Array
    (
        [0] => Michael
        [1] => 8957
        [2] => Muster d
    )
    Array
    (
        [0] => Lars
        [1] => 5745
        [2] => Muster e
    )
     

  8. #8
    King of Darkness King of Darkness ist offline Mitglied Bronze
    Registriert seit
    Aug 2006
    Beiträge
    41
    Hi
    Wenn du wirklich nur willst das der Name maximal einmal auftaucht dann setzt du den Namen einfach als Key

    PHP-Code:
    foreach($csv as $value)
    {
       
    $array[$value[0]][] = $value[1];
       
    $array[$value[0]][] = $value[2];

    Dann sieht das so aus
    Code :
    1
    2
    3
    4
    5
    6
    
    Array
    (
        [Lars] => Array
                  [0] => 7645
                  [1] => Muster b
    )

    Wenn du das dann mit foreach durchgehst hast dann alles max einmal drin.

    PHP-Code:
    foreach($array as $key =>  $value)

        echo 
    $key." ".$value[0]." "$value[1];

    Das sollte es dann gewesen sein.
     
    Coding Center --- Tutorials über Programmierung und andere Themen gerade in Neuentwicklung, Kritik und Anregungen sind willkommen ;-)

Ähnliche Themen

  1. Doppelte Unterstriche
    Von visiondpc im Forum PHP
    Antworten: 9
    Letzter Beitrag: 28.02.09, 11:37
  2. Doppelte Einträge
    Von Sasser im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 27.06.08, 22:02
  3. JSF Doppelte Benutzer
    Von Peregrin im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 5
    Letzter Beitrag: 23.05.08, 19:17
  4. Antworten: 2
    Letzter Beitrag: 26.04.08, 14:21
  5. Frage: Beliebig viele Arrayelemente
    Von Danielku15 im Forum C/C++
    Antworten: 8
    Letzter Beitrag: 26.01.06, 00:31