Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Sortieren von verschachtelten Arrays (Quelle LDAP)

Frage Entwicklung PHP

Mitglied: risker

risker (Level 1) - Jetzt verbinden

08.10.2009, aktualisiert 15:02 Uhr, 3608 Aufrufe, 4 Kommentare

Hallo,

Ich les aus einem AD (siehe anderer Post) folgende Werte aus:

SN (Nachname), Givenname (Vorname), Telephonnummer, E-Mail und Büro

Das ganze wird so:

01.
for ($i=0; $i<$anzahl;$i++) { 
02.
	$ergebnis[$i]["sn"] = utf8_decode($data[$i]["sn"][0]); 
03.
	$ergebnis[$i]["givenname"] = utf8_decode($data[$i]["givenname"][0]); 
04.
	$ergebnis[$i]["telephoneNumber"] = utf8_decode($data[$i]["telephonenumber"][0]); 
05.
	$ergebnis[$i]["physicalDeliveryOfficeName"] = utf8_decode($data[$i]["physicaldeliveryofficename"][0]); 
06.
	$ergebnis[$i]["mail"] = utf8_decode($data[$i]["mail"][0]); 
07.
}
in ein Ergebnisarray gepackt.

Wie krieg ich das ganze jetzt nach SN sortiert? Die Manuals von php.net hab ich nich so recht verstanden...
Im Prinzip müssen doch nur die Indexe anhand des Nachnamens vertauscht werden.. oder?

Es sind übrigens etwa 300 Datensätze..

Vielen Dank im Voraus,
risker
Mitglied: AndreasHoster
08.10.2009 um 17:39 Uhr
Kann zwar kein PHP, aber die Google Abfrage nach Bubblesort in PHP lifert gleich ein Ergebnis mit Code:
http://www.phpfuncs.org/?goto=53
Bin mir jetzt nicht sicher, ob die mit Multidimensionalen Arrays zurechtkommt, aber wenn nicht ist es auch nicht zu schwierig die Umkopiererei im Beispiel auf Deine weiteren Werte zu erweitern.
Bitte warten ..
Mitglied: godlie
08.10.2009 um 17:40 Uhr
Hallo,

eigentlich recht einfach zu lösen und ja die Beschreibungen auf php.net für die array_multisort sind nicht grad der hammer
einfach $data durch $ergebnis ersetzen.

01.
function vergleich($wert_a, $wert_b) 
02.
03.
      // Sortierung nach dem zweiten Wert des Array (Index: 1) 
04.
      $a = $wert_a["sn"]; 
05.
    $b = $wert_b["sn"]; 
06.
 
07.
     if ($a == $b) { 
08.
         return 0; 
09.
10.
 
11.
     return ($a < $b) ? -1 : +1; 
12.
13.
echo "<pre>"; 
14.
var_dump($data); 
15.
usort($data, 'vergleich'); 
16.
var_dump($data); 
17.
echo "</pre>";
have fun
Bitte warten ..
Mitglied: risker
09.10.2009 um 09:05 Uhr
Super, funktioniert richtig gut.

Aber ich hab noch 2 Sachen gefunden. Wenn ich nach Displayname sortiere (nachname, vorname) werden doppelte Einträge kommentarlos weggelassen.

Denn, wenn ich so sortiere, ignoriert er logischerweise die Reihenfolge bei den Vornamen.
Bitte warten ..
Mitglied: godlie
09.10.2009 um 13:31 Uhr
Hallo,

naja du könntest dir ja die Doppelten aufzeichnen.
in der Zeile 7 wird ja kontrolliert ob das ganze doppelt ist,
dort einfach ein array befüllen mit den doppelten und fertig.

Also das er den Vornamen ignoriert dem muss ich wiedersprechen.

Hier mal mein ganzes Testscript:
01.
<?php 
02.
$data = array(); 
03.
  $data[0]["sn"] = "Meier, Hannes"; 
04.
  $data[0]["givenname"] = "Peter"; 
05.
  $data[0]["telephonenumber"] = "12134"; 
06.
  $data[0]["physicalDeliveryOfficeName"] = "A"; 
07.
  $data[0]["mail"] = "foo"; 
08.
 
09.
  $data[1]["sn"] = "Meier, Anda"; 
10.
  $data[1]["givenname"] = "Pier"; 
11.
  $data[1]["telephonenumber"] = "9876"; 
12.
  $data[1]["physicalDeliveryOfficeName"] = "B"; 
13.
  $data[1]["mail"] = "bar"; 
14.
 
15.
function vergleich($wert_a, $wert_b) 
16.
17.
      $a = $wert_a["sn"]; 
18.
     $b = $wert_b["sn"]; 
19.
 
20.
     if ($a == $b) { 
21.
         return 0; 
22.
23.
 
24.
     return ($a < $b) ? -1 : +1; 
25.
26.
echo "<pre>"; 
27.
var_dump($data); 
28.
usort($data, 'vergleich'); 
29.
var_dump($data); 
30.
echo "</pre>"; 
31.
?>
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Verschachtelte Arrays
gelöst Frage von MarcoBornVisual Studio19 Kommentare

Hallo Forum, ich habe in VB.NET 6 Arrays, die alle dieselbe Länge, aber unterschiedliche Datentypen haben. Array1 ist vom ...

PHP
Aus Arrays neue Arrays erzeugen!
gelöst Frage von FunkerVogtPHP8 Kommentare

Hallo Gemeinde, ich hoffe Ihr könnt mir bei meiner Problematik helfen und meinen kleinen gordischen Knoten im Kopf lösen. ...

Datenbanken
Verschachtelte SQL-Abfrage
gelöst Frage von User1000Datenbanken4 Kommentare

Hallo! Ich hänge heute Nachmittag an einer SQL-Abfrage und komme nicht auf das Ergebnis. Vielleicht kann jemand helfen? Vorhanden: ...

Batch & Shell
Verschachtelte FOR-Schleife mit einem Argument
gelöst Frage von mp-homeBatch & Shell3 Kommentare

Hallo Forum, ich versuche mehrere FOR-Schleifen in eine verschachtelte FOR-Schleife zu ändern. Leider scheine ich zu doof für dieses ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 104 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
Frage von HelloWorldBatch & Shell16 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...

Hardware
Fujitsu Workstation mit K80 und Quadro P5000, Fehlermeldung: Connect Power Adapter
Frage von MachelloHardware7 Kommentare

Hallo Zusammen, ich benötige euren Rat da ich ratlos bin. Folgende Konfiguration im Büro: Fujitsu Workstation Celcius R940 Power ...