php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > ASP, PERL, CGI, C und alles andere
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


ASP, PERL, CGI, C und alles andere Wolle ma net so sein. Obwohl Perl, ASP, C und TCL zu den minderwertigen Internet-Skriptsprachen zählen, dürfen ab sofort hierzu auch Fragen gestellt werden. ;)

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-08-2003, 14:12
hwei
 Newbie
Links : Onlinestatus : hwei ist offline
Registriert seit: Mar 2003
Beiträge: 31
hwei ist zur Zeit noch ein unbeschriebenes Blatt
Standard doppelte datensätze in einer liste aus listen suchen und ausgeben

hey

das nachfolgende skript soll aus einer liste in welcher viele listen stehen alle doppelten datensätz herausfinden und ausgeben, damit sie anhand der ID gefunden und gelöscht werden können
allerdings erhalte ich 1. alle datensätze was ich gar nicht will, 2. auch die datensätze in welchen nur ein argument zutrifft was ich auch nicht will und 3. wie verhindere ich das der eigene datensatz mit erkannt wird

mein skript:

#!/usr/bin/perl -w

use strict;

my @treffer = "";

my @liste1 = ("1", "Alex", "1234", "Lottestr", "Berlin");
my @liste2 = ("2", "Alexander", "4352", "Lotasdas", "Bern");
my @liste3 = ("3", "Hardy", "122234", "Lotestr", "Suhl");
my @liste4 = ("4", "Peter", "224352", "Lotsdas", "Berlin");
my @liste5 = ("5", "Alex", "125634", "Lottestr", "Berlinchen");
my @liste6 = ("6", "Alex", "1234", "Lottestr", "Berlin");
my @liste7 = ("7", "Hardy2", "1242234", "Lotestr", "Sahl");
my @liste8 = ("8", "Peter2", "2243452", "Lotsdas", "Berlin");


my @alle_listen = ([@liste1],
[@liste2],
[@liste3],
[@liste4],
[@liste5],
[@liste6],
[@liste7],
[@liste8]);


my $suchendes_element = "";
my $vergleichendes_element = "";


foreach $suchendes_element (0..$#alle_listen)
{
foreach $vergleichendes_element (0..$#alle_listen)
{
if ( $alle_listen[$suchendes_element]->[1] eq $alle_listen[$vergleichendes_element]->[1]
&& $alle_listen[$suchendes_element]->[4] eq $alle_listen[$suchendes_element]->[4] )
{
print "$alle_listen[$suchendes_element]->[0]";
print " - $alle_listen[$suchendes_element]->[1]";
print " - $alle_listen[$suchendes_element]->[4]\n";
}
}
}


dies ist die ausgabe welche ich erhalte:

1 - Alex - Berlin
1 - Alex - Berlin
1 - Alex - Berlin
2 - Alexander - Bern
3 - Hardy - Suhl
4 - Peter - Berlin
5 - Alex - Berlinchen
5 - Alex - Berlinchen
5 - Alex - Berlinchen
6 - Alex - Berlin
6 - Alex - Berlin
6 - Alex - Berlin
7 - Hardy2 - Sahl
8 - Peter2 - Berlin

------------------------------------------------------
Hardy Weindorf
Mit Zitat antworten
  #2 (permalink)  
Alt 04-08-2003, 17:13
phreak
 Newbie
Links : Onlinestatus : phreak ist offline
Registriert seit: Aug 2002
Ort: hannover.de
Beiträge: 18
phreak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ersetz mal deinen foreach teil mit dem folgenden, dann bekommst du die doppelten datensätze.
Code:
foreach $suchendes_element (0..$#alle_listen) {
  foreach $vergleichendes_element (0..$#alle_listen) {
    if (($alle_listen[$suchendes_element]->[1] eq $alle_listen[$vergleichendes_element]->[1]) &&
    ($alle_listen[$suchendes_element]->[4] eq $alle_listen[$vergleichendes_element]->[4]) &&
    ($alle_listen[$suchendes_element]->[0] ne $alle_listen[$vergleichendes_element]->[0])) {
      print "$alle_listen[$suchendes_element]->[0]";
      print " - $alle_listen[$suchendes_element]->[1]";
      print " - $alle_listen[$suchendes_element]->[4]\n";
    }
  }
}
du hattest ausserdem noch einen tippfehler, denn du hast in deiner if folgendes stehen gehabt.
Code:
$alle_listen[$suchendes_element]->[4] eq $alle_listen[$suchendes_element]->[4]
das liefert dir zwar true zurück, aber ich gehe mal davon aus, dass du dich hier vertan hast

HTH
Mit Zitat antworten
  #3 (permalink)  
Alt 05-08-2003, 15:34
hwei
 Newbie
Links : Onlinestatus : hwei ist offline
Registriert seit: Mar 2003
Beiträge: 31
hwei ist zur Zeit noch ein unbeschriebenes Blatt
Standard danke

danke für den tip

manchmal sieh den wald vor bäumen nicht!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

jqPlot jQuery Plotting Plugin ansehen jqPlot jQuery Plotting Plugin

jqPlot ist ein plotting und charting plugin für das jQuery Javascript framework

06.11.2019 Berni | Kategorie: AJAX/ Framework
WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

10.10.2019 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:10 Uhr.