Sortieren von Unterarray

Mitglied: ottscho

ottscho (Level 2) - Jetzt verbinden

21.03.2012, aktualisiert 22.03.2012, 3831 Aufrufe, 8 Kommentare

Hey,

ich komme nicht ganz klar und weiß nicht wie ich mein Array nach Name sortieren kann. Bein beispiel ist jetzt leider schon korrekt sortiert, aber das Array besteht aus viel mehr Datensätzen. Das ist nur ein kleiner Auszug.
Im Prinzip sollen alle Unterarrys nach ["name"] sortiert werden. So wie hier Bridgestone, Goodyear etc.

Habt ihr mir einen Tipp? mit asort und ksort kann ich ja kein Feld mit geben.


Besten Dank im Voraus
Mitglied: neuni88
21.03.2012 um 20:40 Uhr
Tag,

das solltest du mit usort recht einfach hinbekommen: http://www.php.net/manual/de/function.usort.php
Baust dir einfach eine Vergleichsfunktion wie im Beispiel von php.net, vergleichst aber nicht $a und $b direkt, sondern $a['name'] und $b['name'].
Bitte warten ..
Mitglied: Guenni
21.03.2012 um 20:43 Uhr
Hi ottscho,

du kannst die Funktion uasort mit einer Vergleichsfunktion verwenden.


Die Vergleichsfunktion wird dann zusammen mit dem Array an uasort übergeben,

die Vergleichsfunktion allerdings in Anführungszeichen ohne Klammern!!.



Gruß
Günni

PS.: Für den Fall, dass nach Zahlen sortiert werden soll, kannst du nicht strcmp verwenden.

Dazu müsste die Vergleichsfunktion anders geschrieben werden:


Aber strcmp ist halt kürzer ;-p
Bitte warten ..
Mitglied: ottscho
22.03.2012 um 07:24 Uhr
Danke euch für die super Antwoort mit direktem Lösungsweg.
Ich werde das heute abend direkt ausprobieren.

Grüße
Bitte warten ..
Mitglied: ottscho
22.03.2012 um 08:21 Uhr
Hi,

habe es doch schnell eben getestet. Leider klappt es nicht.
Kann es sein, dass ich eine Ebene tiefer muss?

Theoretisch befindet sich ja der Key hier:

sSuppliers[0]['name']
sSuppliers[1]['name']
sSuppliers[2]['name']
sSuppliers[3]['name']
Bitte warten ..
Mitglied: ottscho
22.03.2012 um 08:58 Uhr
so habe ich es nun:

Beim ersten dump wird das Array normal ausgegeben und beim Zweiten nach der Sortierung ist NULL.


Ich habe die Fehlerquelle gefunden, aber ich kann das Porblem nicht lösen:


So gebe ich den Namen aus. Ich müsste nun die Function anpassen, dass die Sortierung funktioniert.
Bitte warten ..
Mitglied: Guenni
22.03.2012 um 10:25 Uhr
Hi ottscho,

das muß irgendeine andere Ursache haben. Ich poste dir mal das komplette Script

und die Ausgabe vor und nach der Sortierung. Dann siehst du, dass mein Testarray

genau wie deins aufgebaut ist und die Sortierung nach 'name' durchgeführt wird.


Und hier die Ausgaben von var_dump:


Gruß
Günni
Bitte warten ..
Mitglied: ottscho
22.03.2012 um 11:13 Uhr
Hi Günni,

dein Script funktioniert so natürlich.
Was mir aber auffällt:


Bei dir Sind die Schlüssel nach der Reihe fortlaufend 0,1,2,3

array(4) {
[0]=>
....
....
[1]=>
[2]=>

Bei mir siehe erstes Post aber zufällig:

array(71) {
[26]=>
....
....
[9]=>
[2]=>

Evtl hängt es damit zusammen.


Danke dir für deine Mühe
Bitte warten ..
Mitglied: ottscho
22.03.2012 um 11:39 Uhr
Habe es gelöst.
Zwei fehler von mir.
Ich habe das Array immer wieder übersachrieben und ich muss in meiner Umgebung die Classe beim Vergleich mitgeben:


Bitte warten ..
Heiß diskutierte Inhalte
Monitoring
Computer im Netzwerk auslesen zur Inventarisierung
imebroVor 1 TagFrageMonitoring14 Kommentare

Hallo, für meine IT-Dokumentation muss ich nun auch unsere rund 15 PCs inventarisieren. Daher hätte ich gerne ein Programm, mit dem ich die wichtigsten ...

Windows 7
Aktivierung Windows
gelöst KanrishaVor 1 TagFrageWindows 714 Kommentare

Moin Admins, ich wollte mein Windows 7 mit einem Key den ich gekauft habe aktivieren. Da kam immer dieser FehlerCode was kann ich dagegen ...

Windows Server
Aufgabenplanung PowerShell Skript startet nicht
shooanVor 22 StundenFrageWindows Server33 Kommentare

Hallo Zusammen, ich habe ein Skript bekommen das ich gerne so einstellen will das dieses beim Start des Exchangeservers aktiviert werden soll. Ein Ausführung ...

Festplatten, SSD, Raid
Raid Level mischen auf einem Controller
DJBreezerVor 1 TagFrageFestplatten, SSD, Raid9 Kommentare

Hi, ich folge dem Ansatz, RAID Level auf dem selben Controller nicht zu mischen. Das heißt ich habe keine Controller im Einsatz, auf denen ...

Internet
Webcam oder IPcam aus dem Internet erreichbar?
dertowaVor 21 StundenFrageInternet16 Kommentare

Hallo zusammen, mal eine spezielle Frage, vielleicht kann jemand einen Dienst aufgrund guter Erfahrung empfehlen. Die Hündin einer guten Bekannten bekommt Nachwuchs und dafür ...

Exchange Server
Hosted Exchange von Ionos
it-blzVor 1 TagFrageExchange Server7 Kommentare

Hallo, wir möchten eventuell "Hosted Exchange" von Ionos nutzen. Leider kann ich die "Verwaltungsoberflächen" nicht vor Vertragsabschluss probieren und die Aussagen darüber sind wenig ...

Windows Netzwerk
Computername erneut vergeben?
gelöst malkieVor 1 TagFrageWindows Netzwerk10 Kommentare

Guten Morgen, wir haben in der Firma Computernamen nach dem Muster: PC-Abteilung-Nummer (PC-IT-1) So, aktuell habe ich mal gelernt ganz früher, dass man den ...

Netzwerke
2 verschiedene VPN für zu Hause
gelöst Reamer76Vor 1 TagFrageNetzwerke6 Kommentare

Hallo zusammen, da wir nun bald Glasfaser bekommen, brauche ich mal Hilfe von euch. Zustand jetzt (privat zu Hause): - Fritzbox LAN= 2PC`s und ...