Einzelnen Beitrag anzeigen
  #26 (permalink)  
Alt 26-03-2008, 23:22
Griecherus
 PHP Senior
Links : Onlinestatus : Griecherus ist offline
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
Griecherus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nein, so nicht. Gehen wir das Ganze nochmal grundlegender an: Du möchtest, dass eine variable Anzahl von Arrays miteinander verglichen werden. Für diesen Vergleich ist für jedes Array jeweils nur der erste Schlüssel von Relevanz. Denn ins Ergebnis kommen nur die Arrays, die einen identischen ersten Schlüssel haben. Soweit klar?
Jetzt musst du also einen Algorithmus schreiben, der genau das macht. Und da gibt es sicherlich nicht nur eine einzige Möglichkeit. Ich erkläre dir meinen Ansatz mal an einem Beispiel:
Code:
array1 = array(123, abc, def);
array2 = array(321, ghi, jkl);
array3 = array(123, mno, pqr);
array4 = ...
array5 = ...
array6 = ...

// ins Ergebnis gehören array1 und array2, da der erste Schlüssel `123`identisch ist
Jetzt schnappst du dir das erste Array (array1) und vergleichst den ersten Schlüssel (array1[0]) mit dem ersten Schlüssel des darauf folgenden array (array2[0]). Findest du eine Übereinstimmung -> speichern. Danach kommt das nächste Array (array3[0]) usw.
Es entsteht also folgendes Durchlaufmuster (bei bspw. 6 Arrays):

array1[0] mit array2[0]
array1[0] mit array3[0]
array1[0] mit array4[0]
array1[0] mit array5[0]
array1[0] mit array6[0]

array2[0] mit array3[0]
array2[0] mit array4[0]
array2[0] mit array5[0]
array2[0] mit array6[0]

array3[0] mit array4[0]
array3[0] mit array5[0]
array3[0] mit array6[0]

array4[0] mit array5[0]
array4[0] mit array6[0]

array5[0] mit array6[0]

fertig. Muster verstanden?
Das ist jetzt noch sehr "roh". Das heisst es ist noch viel, viel Platz für Optimierungen. Aber das soll jetzt erstmal reichen.
Mit Zitat antworten