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, 13: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
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 04-08-2003, 16: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, 14: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

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

09.10.2020 palle_1977 | Kategorie: PHP
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
Erotik-Portal

Mit unsererem Erotik-Portal erhalten Sie ein komplettes Internetprojekt inklusive einer bedienerfreundlichem Administration sowie zahlreichen wichtigen Funktionen. Unser auf PHP und MySQL basierendes Script bietet Ihnen - und Ihren Besuchern - komfort

18.06.2020 ISD-Genthin | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:01 Uhr.