doppelte Arrayelemente

Arndtinho

Erfahrenes Mitglied
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
 
Hallo im prinzip könntest du das doch so machen oder?

PHP:
<?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.
 
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
 
ich kann mir grad nicht so ganz vorstellen wie dein array aufgebaut ist poste das mal bitte in der Form:
Code:
Array
{
 [0] => Array
           {
            [0] => lala
            [1] => lala2
           }
}

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

das Array sieht so aus bzw. hat folgenden Aufbau:
Code:
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
)
 
Hi
Wenn du wirklich nur willst das der Name maximal einmal auftaucht dann setzt du den Namen einfach als Key

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

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

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

PHP:
foreach($array as $key =>  $value)
{ 
    echo $key." ".$value[0]." "$value[1];
}

Das sollte es dann gewesen sein.
 
Zurück