perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 28
Click for quality!




11.02.2012 / 20:31

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitragdoppelte zeilen aus array löschen
Seitenanfang
hi!

ich hab ein array, bei dem mehrere zeilen den gleichen inhalt haben.
gibt es eine möglichkeit, die einträge des array in ein anderes array zu übertragen und dabei die doppelten einträge zu löschen, sodass jeder eintrag nur noch einmal in dem array vorhanden ist?

danke schonmal für eure antworten!

Datum: 31.01.2008-15:37

Beitragre: doppelte zeilen aus array löschen
Seitenanfang
Hallo!

Das kannst du mit Hilfe eines Hashes lösen. Du schreibst jede Zeile des Arrays als key in ein Hash, jeder key darf da aber nur einmal auftreten:


my %hash;
my @new = grep { !$hash{$_}++ } @old;

grep gibt jeden Eintrag nur weiter, wenn dieser noch nicht in %hash steht, und trägt diesen anschließend (über ++) in das Hash ein.

Als netten Nebeneffekt hat man nun in %hash stehen, wie oft jeder Eintrag im Array @old vorkommt.

Grüße, Skrilax

Datum: 04.02.2008-11:54

-






-
-