Einzelnen Beitrag anzeigen
  #1  
Alt 17.04.2008, 11:44:00
PHoenix_KM PHoenix_KM ist offline
Anfänger
 
Registriert seit: Apr 2008
Alter: 45
Beiträge: 2
Doppelte einträge aus einem Mehrdimensionalen Array aussortieren und löschen

Hallo,

ich habe ein Problem mit der Handhabung eines von mir generierten Arrays, welches ich am Ende meiner Frage in Ausschnitten gepostet habe. dieses Array stammt aus einem CMS welches ich gerade dabei bin zu programmieren und stellt die Navigation der Seite da. Die Navigation soll die Möglichkeit bieten beliebig viele Untermenüs zu haben welche nur angezeigt werden wenn die jeweilige Elternseite der aktuellen Seite entspricht. leider habe ich keinen Weg gefunden doppelte Einträge in der Bildung des Arrays zu verhindern, weshalb ich nun am ende diese gerne aus dem array aussortieren möchte. Ich habe es mit array_unique versucht doch leider mußte ich feststellen das dieser Befehl nur bei eindimensionalen Arrays den gewünschten effekt bringt. Nun suche ich nach einem Befehl oder einer Funktion um das untenstehende Array nach 'seitennr' zu durchsuchen und den gesamten Datensatz welcher doppelt verhanden ist auszusortieren, und überflüssige Einträge zu löschen. zur verdeutlichung habe ich das von mir gewünschte array am Ende noch einmal dagestellt.


Vielen Dank schon einmal für Eure Hilfe.


print_r($nav_array);

momentane ist Darstellung:
Array
(
[0] => Array
(
[seitennr] => 1
[unterseite_von] => 0
[ebene] => 0
[position] => 1
[navtitel] => Startseite
)

[1] => Array
(
[seitennr] => 2
[unterseite_von] => 0
[ebene] => 0
[position] => 2
[navtitel] => Grafik
)

[2] => Array
(
[seitennr] => 3
[unterseite_von] => 0
[ebene] => 0
[position] => 3
[navtitel] => Photografie
)

[3] => Array
(
[seitennr] => 11
[unterseite_von] => 3
[ebene] => 1
[position] => 4
[navtitel] => Flora und Fauna
)

[4] => Array
(
[seitennr] => 12
[unterseite_von] => 3
[ebene] => 1
[position] => 5
[navtitel] => Architektur
)

[5] => Array
(
[seitennr] => 13
[unterseite_von] => 3
[ebene] => 1
[position] => 6
[navtitel] => Personen
)

[6] => Array
(
[seitennr] => 15
[unterseite_von] => 13
[ebene] => 2
[position] => 7
[navtitel] => U1 Personen13 EB2
)

[7] => Array
(
[seitennr] => 16
[unterseite_von] => 13
[ebene] => 2
[position] => 8
[navtitel] => U2 Personen 13 EB2
)

[8] => Array
(
[seitennr] => 17
[unterseite_von] => 16
[ebene] => 3
[position] => 9
[navtitel] => U1 Personen 16 EB3
)

[9] => Array
(
[seitennr] => 17
[unterseite_von] => 16
[ebene] => 3
[position] => 9
[navtitel] => U1 Personen 16 EB3
)

[10] => Array
(
[seitennr] => 14
[unterseite_von] => 3
[ebene] => 1
[position] => 11
[navtitel] => Edelsteine
)


soll Dartellung:

Array
(
[0] => Array
(
[seitennr] => 1
[unterseite_von] => 0
[ebene] => 0
[position] => 1
[navtitel] => Startseite
)

[1] => Array
(
[seitennr] => 2
[unterseite_von] => 0
[ebene] => 0
[position] => 2
[navtitel] => Grafik
)

[2] => Array
(
[seitennr] => 3
[unterseite_von] => 0
[ebene] => 0
[position] => 3
[navtitel] => Photografie
)

[3] => Array
(
[seitennr] => 11
[unterseite_von] => 3
[ebene] => 1
[position] => 4
[navtitel] => Flora und Fauna
)

[4] => Array
(
[seitennr] => 12
[unterseite_von] => 3
[ebene] => 1
[position] => 5
[navtitel] => Architektur
)

[5] => Array
(
[seitennr] => 13
[unterseite_von] => 3
[ebene] => 1
[position] => 6
[navtitel] => Personen
)

[6] => Array
(
[seitennr] => 15
[unterseite_von] => 13
[ebene] => 2
[position] => 7
[navtitel] => U1 Personen13 EB2
)

[7] => Array
(
[seitennr] => 16
[unterseite_von] => 13
[ebene] => 2
[position] => 8
[navtitel] => U2 Personen 13 EB2
)

[8] => Array
(
[seitennr] => 17
[unterseite_von] => 16
[ebene] => 3
[position] => 9
[navtitel] => U1 Personen 16 EB3
)


[9] => Array
(
[seitennr] => 14
[unterseite_von] => 3
[ebene] => 1
[position] => 11
[navtitel] => Edelsteine
)
Mit Zitat antworten