php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 06-01-2005, 19:15
dioony
 Newbie
Links : Onlinestatus : dioony ist offline
Registriert seit: Oct 2004
Ort: Oldenburg
Beiträge: 49
dioony ist zur Zeit noch ein unbeschriebenes Blatt
Standard mehrdimensionales array aussortieren

Mittag!


Ich hab mich schon totgesucht und auch schon einige dutzende versionen probiert, aber es klappt nie so, wie ich will

Habe folgendes problem:

Ich habe ein mehrdimensionales array in folgender form:

PHP-Code:

$daten
[0]["id"]=1;
$daten[0]["name"]="muster";
$daten[0]["vorname"]="peter";
$daten[0]["ort"]="berlin";

$daten[1]["id"]=2;
$daten[1]["name"]="mann";
$daten[1]["vorname"]="klaus";
$daten[1]["ort"]="hamburg";
... 


dass array wird aus 3 arrays mit array_merge zusammengesetzt.
die 3 ursprungsarrays haben den selben aufbau, wie das array $daten oben.
Die 3 arrays heißen zum beispiel $source1, $source2 und $source3

jetzt kann es vorkommen, dass z.b. in $source1 und $source3 die selben Einträge vorkommen. wenn er nun diese mit array_merge zu $daten zusammenfügt, ist ja der eintrag doppelt oder gar dreifach da. er soll aber nur einmal vorkommen. deshalb muss er ja irgendwie das array aussortieren.

ich habs schon mit array_unique probiert, aber da löscht er mehrere, weil array_unique wohl nicht mit dem mehrdimensionalem klar kommt.

dann hab ich versucht, das array mit 2 verschachtelten for - schleifen zu vergleichen und bei doppelten einträgen nur ein eintrag in ein array schreiben
das ganze sieht dann so aus:
PHP-Code:

        $daten
=array_merge($source1,$source2);
                                
$dummy=array();
        for(
$i=0;$i<count($daten);$i++)
        {
              
$found=false;
              for(
$j=0;$j<count($daten);$j++)
             {
               if(
$daten[$i]["id"]==$daten[$j]["id"] && $i!=$j)
                      
//$i!=$j steht, damit er den vergleich von sich selbst ignoriert
                   
{
                     
$found=true;

                    };
             };
             if(!
$found)
              {
                 
array_push($dummy,$daten[$i]);
              };
        };
        
$daten=$dummy
Er löscht bei dieser version zwar doppelte einträge, aber alle doppelten.
es soll ja aber einer stehen bleiben!

ich hoffe, dass ihr mein problem versteht und ob mir da jemand weiterhelfen kann?!

danke im voraus!

dioony
Mit Zitat antworten
  #2 (permalink)  
Alt 06-01-2005, 20:02
firstlord18
 Member
Links : Onlinestatus : firstlord18 ist offline
Registriert seit: Nov 2004
Ort: Germany
Beiträge: 310
firstlord18 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja also du setzt $found auf true, wenn er einen doppelten findet. und nur wenn $found false ist, schreibt er den eintrag in das neue Array !! du müsstes das irgendwie anders machen, ich weiß im moment aber nicht genau wie !!!
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

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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

ContentLion - Open Source CMS ansehen ContentLion - Open Source CMS

ContentLion ist ein in PHP geschriebenes CMS, bei dem man Seiten, Einstellungen usw. in Ordnern lagern kann

22.08.2019 stevieswebsite2 | Kategorie: PHP/ CMS
Adsman Pro - Werbe-Manager V.1.1.0

Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebigem Format, Textanzeigen und Page-Peels mit umfangreichen Text und Flash-Effekte.

30.07.2019 rhs | Kategorie: PHP/ Bannerverwaltung
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

30.07.2019 Berni | Kategorie: MYSQL/ Management
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:19 Uhr.