php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.05.2009, 15:26  
Neuer Benutzer
 
Registriert seit: 05.05.2009
Beiträge: 6
Roflkid befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Sortieren von Arrays

Hallo,

ich weiß ja das man mit einem Post nicht gerad gleich eine Frage stellen sollte, aber irgendwann muss man mal ja mal anfangen

Also nun zur eigentlichen Frage, ich habe viele Arrays mit verschiedenen Daten z.B. CreateDate, FlightNumber, DepartureICAO, DestinationICAO, PaxiansWaiting und CreatedBy davon eben ein paar 100 Arrays. Nun ist mir aber noch unklar wie ich jetzt alle Arrays zusammenfasse (vll Zweidimensionales Array?) und dann aber z.B. nach PaxiansWaiting sortiere. Generell zu sortieren wäre ja mit array_multisort() möglich. Aber ich habe ja nun ein paar mehr Arrays die ich vergleichen möchte. Ich hoffe man versteht es so halbwegs.

Edit: Nochmal kleiner Nachsatz, das Array mit z.B. dem höchsten Wert bei PaxiansWaiting soll auch ganz oben stehen. PaxiansWaiting ist eine Zahl.

Gruß

Geändert von Roflkid (05.05.2009 um 15:31 Uhr).
Roflkid ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.05.2009, 15:42  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Willkommen.

Zitat:
Ich hoffe man versteht es so halbwegs.
Nicht wirklich, man kanns nur erahnen.
Mach doch mal ein Beispiel!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 05.05.2009, 15:53  
Neuer Benutzer
 
Registriert seit: 05.05.2009
Beiträge: 6
Roflkid befindet sich auf einem aufstrebenden Ast
Standard

Hm, okay also ich habe Arrays in folgendem Format:

Code:
...
Array ( 
	[0] => CreateDate 
	[1] => FlightNumber 
	[2] => DepartureICAO 
	[3] => DestinationICAO 
	[4] => PaxiansWaiting 
	[5] => CreatedBy 
)
Array ( 
	[0] => CreateDate 
	[1] => FlightNumber 
	[2] => DepartureICAO 
	[3] => DestinationICAO 
	[4] => PaxiansWaiting 
	[5] => CreatedBy 
)
Array ( 
	[0] => CreateDate 
	[1] => FlightNumber 
	[2] => DepartureICAO 
	[3] => DestinationICAO 
	[4] => PaxiansWaiting 
	[5] => CreatedBy 
)
...
Und diese werden später in einer Tabelle ausgegeben, jedoch möchte ich z.B. das dass Array welches den höchsten Wert bei PaxiansWaiting hat, an erster Stelle der Tabelle steht. CreateDate ist ein Timestamp, FlightNumber eine Zahl, DepatureICAO & DestinationICAO ein String, PaxiansWaiting eine Zahl und CreatedBy wieder ein String.

Geändert von Roflkid (05.05.2009 um 15:54 Uhr). Grund: 'hat' vergessen :P
Roflkid ist offline   Mit Zitat antworten
Alt 05.05.2009, 15:58  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Mach daraus einen zweidimensionalen Array und sortiere diesen mit usort().
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 05.05.2009, 16:56  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Dem ist nichts hinzuzufügen. Ausser: Falls die Daten aus einer DB kommen, wäre es natürlich sinnvoll, die Sortierung gleich dort vorzunehmen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 05.05.2009, 17:02  
Neuer Benutzer
 
Registriert seit: 05.05.2009
Beiträge: 6
Roflkid befindet sich auf einem aufstrebenden Ast
Standard

Habe nun ein Mehrdimensionales Array daraus gemacht, jedoch funktioniert usort() bzw. uasort() noch nicht wie es soll, leider ist es mir ein Rätsel wieso.

Ich vergleiche es folgendermaßen:
Code:
function cmp($a, $b) {
   return strcmp($a["PaxiansWaiting"], $b["PaxiansWaiting"]);
}
Aufgebaut ist das Array folgendermaßen:
Code:
$array[$i][$arg] = ${$arg};
Code:
usort($array, "cmp");
Eigentlich wollte ich es mit variant_cmp statt strcmp vergleichen jedoch führt das zu einem direkten Absturz vom Indianer.

Lasse ich mir nun den "sortierten" Array ausgeben erhalte ich folgende "falsche" Sortierung:
Code:
$array[1]: 0 $array[2]: 1,000 $array[3]: 1,050
...
$array[160]: 371 $array[161]: 39,611 $array[162]: 4,118

Gruß
Roflkid ist offline   Mit Zitat antworten
Alt 05.05.2009, 17:09  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Warum benutzt Du keinen Zahlenvergelich, wenn es sich um numerische Daten handelt?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 05.05.2009, 17:24  
Neuer Benutzer
 
Registriert seit: 05.05.2009
Beiträge: 6
Roflkid befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Warum benutzt Du keinen Zahlenvergelich, wenn es sich um numerische Daten handelt?
Entschuldige, manchmal fehlt echt der Stoß vor den Kopf , Danke gelöst hab ich es nun so:

Code:
function cmp($a, $b) {
   if ($a["PaxiansWaiting"]==$b["PaxiansWaiting"]) return 0;
	return ($a["PaxiansWaiting"] < $b["PaxiansWaiting"]) ? -1 : 1;
}
Gruß
Roflkid ist offline   Mit Zitat antworten
Alt 05.05.2009, 18:13  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zur Erklärung: strcmp vergleich als String zeichenweise, dabei reihen sich Ziffern, Sonderzeichen (Komma) etc. je nach Position in der Zeichentabelle linksbündig (!) ein.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 06.05.2009, 07:46  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Roflkid Beitrag anzeigen
Danke gelöst hab ich es nun so:
Code:
function cmp($a, $b) {
   if ($a["PaxiansWaiting"]==$b["PaxiansWaiting"]) return 0;
    return ($a["PaxiansWaiting"] < $b["PaxiansWaiting"]) ? -1 : 1;
}
Gruß
Noch einfacher:
PHP-Code:
function cmp($a$b) {
    return (
$a["PaxiansWaiting"] - $b["PaxiansWaiting"]);

__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
eindimensionale arrays sortieren webazubi PHP Tipps 2007 5 23.03.2007 18:11
Sortieren eines Arrays mittels Funktion ? madSoul PHP Tipps 2007 16 22.02.2007 11:49
assoziatives array sortieren LP PHP Tipps 2006 8 09.09.2006 07:47
Arrays sortieren, Bezeichnung, Preis Ticos PHP Tipps 2006 4 07.09.2006 19:37
Fehlermeldung beim Sortieren meines Arrays... GELight PHP Tipps 2006 5 27.04.2006 22:08
[Erledigt] 2 Arrays miteinander vergleichen PHP Tipps 2007 3 17.12.2005 16:54
Arrays alphabetisch sortieren seven-12 PHP Tipps 2007 4 17.11.2005 14:33
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Sortieren von Arrays mit mehr als 2 Dimensionen PHP-Fortgeschrittene 8 05.07.2005 16:48
[Erledigt] sortieren von arrays aus mysql Datenbanken 7 28.04.2005 21:53
2 Array in Abhänigkeit sortieren? PHP Tipps 2005 4 10.02.2005 20:31
5 assosiative arrays gleichzeitig sortieren PHP Tipps 2004-2 2 13.12.2004 14:07
Erkennung von Arrays in Strings PHP-Fortgeschrittene 15 07.12.2004 13:00
Arrays nachträglich (Inhalte) zählen und sortieren Gumfuzi PHP Tipps 2004-2 3 20.11.2004 00:00
Mehrdimensionale Arrays sortieren Borlox PHP Tipps 2004 5 23.09.2004 14:52

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ziffern in array sortieren, mehrdimensionales array mysql alphabetisch sortieren umlaute php, php mehrdimensionales array nach den höchsten werten sortieren, php mehrdimensionales array sortieren umlaute, mehrdimensionales array sortieren umlaut, php uasort deutsche umlaute, php sortieren umlaute array_multisort

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:43 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum