php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.05.2005, 22:36  
Gast
 
Beiträge: n/a
Standard Array sortieren

Hallo

ich erzeuge innerhalb einer Funktion in einer while-schleife ein Array, etwa so:

Code:
while(...){

$output[] = array(
"kid" => $x_kid,
"punkte" => $punkte
);

}


// rows in columns umwandeln, für array_multisort:
foreach ($output as $key => $row) {
 $kid[$key] = $row['kid'];
 $punkte[$key] = $row['punkte'];
}

// jetzt das array so sortieren, as die gefundenen daten mit der höchsten punktzahl zu erst kommen:

array_multisort($punkte, SORT_DESC, $output);
return $output;

Aber aus irgend einem Grund funktioniert die Sortierung nicht. Die Funktion soll das Array $output zurück liefern. Dieses Array enthält quasi mehrere Datensätze, immer bestehend aus dem Feld "kid" und "punkte". Es soll so sortiert werden das mit einem foreach() erst die Datensätze mit der höchsten Punktzahl und zum schluss die mit der niedrigsten kommen.

Erkennt jemand meinen Denkfehler? Hab lange rumprobiert aber finde nichts...
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 14.05.2005, 23:11  
Gast
 
Beiträge: n/a
Standard

Warum gestaltest Du Deine SQL Abfrage nicht so, daß dabei die gewünschte Sortierung erfolgt?
 
Alt 14.05.2005, 23:12  
Gast
 
Beiträge: n/a
Standard

nimm doch usort(,)
http://php.net/usort
 
Alt 15.05.2005, 00:44  
Gast
 
Beiträge: n/a
Standard

usort scheint nicht für diese Art von Arrays gut geeignet zu sein. Eher für einfache Arrays vom typ $blub = array("bla","blubb","foo") wenn ich mich nicht irre.

Zitat:
Warum gestaltest Du Deine SQL Abfrage nicht so, daß dabei die gewünschte Sortierung erfolgt?
weil das hier nichts mit SQL zu tun hat. Es ist ein Fragment aus einer komplexen Datenanalyse-Funktion. Die Daten werden vorher aufwendig berechnet. Sonst wäre das ja kinderleicht und ich würde mir das Leben nicht so schwer machen
 
Alt 15.05.2005, 01:20  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von NewBert
weil das hier nichts mit SQL zu tun hat. Es ist ein Fragment aus einer komplexen Datenanalyse-Funktion. Die Daten werden vorher aufwendig berechnet.
a. Du suchst Datenbankfunktionalität.
b. wat meinste, wie selbst MySQL rechnen kann...

Zitat:
Sonst wäre das ja kinderleicht und ich würde mir das Leben nicht so schwer machen
Eben. Und das unterscheidet uns: wenn ich Brechnungen mit mehreren Tupeln anstellen will und die Ergebnisse sortieren möchte, dann nutze ich Faulpelz eben ein DBMS. Andere graben sich durch Arrays und müssen viele Fragen stellen...
 
Alt 15.05.2005, 01:24  
Gast
 
Beiträge: n/a
Standard

doch, usort ist auch/gerade für solche Felder und Sortierungen geeignet.
Das 1-dimensionale Feld könntest Du ja auch mit sort() et al sortieren lassen.
 
Alt 15.05.2005, 01:39  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

@NewBert

schaut doch mal einfach in die kommentare der sortier-funktionen von php im manual

www.php.net/sort
www.php.net/usort
www.php.net/asort
www.php.net/ksort

und den rest findest du hier:

www.php.net/array

mfg
robo47
robo47 ist offline  
Alt 15.05.2005, 02:14  
Gast
 
Beiträge: n/a
Standard

Habe den Fehler gefunden, lag nicht direkt an meiner Sortierfunktion. Die war schon ganz ok. Die Variable $punkte war in doppelter Verwendung. Habs in $punkte_x umbenannt, jetzt gehts
 
 


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
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Array sortieren mit regex Lupi PHP Tipps 2008 3 21.07.2008 15:17
Array sortieren php1 PHP-Fortgeschrittene 1 25.09.2006 23:09
Array nach bestimmter Spalte sortieren GELight PHP Tipps 2006 4 19.08.2006 23:42
Mehrdimensionales Array sortieren Unbekanntes_Pferd PHP Tipps 2006 6 23.05.2006 20:42
array richtig sortieren, dann ausgeben Heart PHP Tipps 2006 5 28.04.2006 20:23
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
Array verkehrt sortieren (key) // letzter Arrayeintrag PHP Tipps 2005-2 5 20.09.2005 15:55
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
2 Array in Abhänigkeit sortieren? PHP Tipps 2005 4 10.02.2005 20:31
Array mit Gruppen: Wie Sortieren PHP Tipps 2005 2 29.01.2005 15:15
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
array ordnen, arrays ordnen, php while schleife sortieren, php array ordnen, php array sortieren, array anordnen, schleife sortieren, ordnen array, while sortieren php, array ausgabe sortieren, php array for schleife sortieren, php schleife sortieren, array sortieren php, php schleife ergebnis sortieren, http://www.php.de/php-tipps-2005/23029-array-sortieren.html, array sortieren, php for schleife sortieren, arrays sortieren mit for anweisung, sortierung in php, for scheife sortieren php

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:44 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.