php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.07.2006, 20:19  
obi
Erfahrener Benutzer
 
Registriert seit: 26.06.2004
Beiträge: 270
obi
Standard Array sortieren ohne Zusammenhänge zu verlieren

Hallo,
mit folgendem Code erstelle ich ein Array, das verschiede Datensätze enthält
Code:
$name[0] = "hans";
$name[1] = "Peter";
$name[2] = "Olaf";
$punkte1[0] = 1; //Hans Punkte
$punkte1[1] = 3; //Peters Punkte
$punkte1[2] = 1; //Olafs Punkte
$punkte2[0] = 5; //Hans Punkte2 
$punkte2[1] = 3; //Peters Punkte2
$punkte2[2] = 2; //OlafsPunkte2
$allarrays[0] = $name; //Hans Datensatz
$allarrays[1] = $punkte1; //Peters Datensatz
$allarrays[2] = $punkte2; //Olafs Datensatz
Nun will ich zwei Ranglisten erstellen und daher das Array "$allarrays" sortieren - einmal geordnet nach punkte1, und einmal nach punkte2 - dabei sollen aber die Namen nicht den Bezug zu den Punkten verlieren - wie stelle ich das am besten an?
obi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.07.2006, 21:59  
Gast
 
Beiträge: n/a
Standard

Warum machste das nicht mit multidimensionale Arrays ?
 
Alt 20.07.2006, 22:10  
Erfahrener Benutzer
 
Registriert seit: 14.02.2005
Beiträge: 790
GrU3nL!nG
Standard

http://tut.php-q.net/array.html

=> Array in Array
__________________
Gruß Marc
GrU3nL!nG ist offline  
Alt 20.07.2006, 22:50  
Erfahrener Benutzer
 
Registriert seit: 11.08.2005
Beiträge: 206
ZiMD
Standard

Warum packst du das Ganze nicht in ein Objekt?
ZiMD ist offline  
Alt 21.07.2006, 00:04  
obi
Erfahrener Benutzer
 
Registriert seit: 26.06.2004
Beiträge: 270
obi
Standard

danke für die hilfe, mein code sieht hetzt in etwa so aus:

Code:
for ($i=1;$i<6;$i++)	
	{
    $array['user'][] = "user".$i; //nacher werden hier richtige Usernamen aus ner DB gespeichert 
    $array['punkte1'][] = $i; //hier wird später ein Wet aus der DB eingelesen, $i nur zu testzwecken
    $array['punkte2'][] = $i; //hier auch 
	}
Multidimensionales Array eben, aber sortiert is es leider immer noch nicht.
Wie kann ich das Array jetzt sortieren, so dass dabei beispielsweise wenn nach punkte1 sortiert wird, auch die punkte2 und user entsprechend angepasst werden, damit sie die selbe position in deren array haben wie das neu sortierte element in seinem?
z.B.
vor dem Sortieren:
Array
(
[user] => Array
(
[0] => user1
[1] => user2
[2] => user3
[3] => user4
[4] => user5
)

[punkte1] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)

[punkte2] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)

)

nach sortieren nach "punkte1":
Array
(
[user] => Array
(
[0] => user5
[1] => user4
[2] => user3
[3] => user2
[4] => user1
)

[punkte1] => Array
(
[0] => 5
[1] => 4
[2] => 3
[3] => 2
[4] => 1
)

[punkte2] => Array
(
[0] => 5
[1] => 4
[2] => 3
[3] => 2
[4] => 1
)

)
obi ist offline  
Alt 21.07.2006, 00:17  
Gast
 
Beiträge: n/a
Standard

Du speicherst jetzt zwar alle Werte in $array ab, aber immer noch getrennt voneinander.
user,punkte und punkte2 zu einem Eintrag gehören zusammen.
Und nicht: alle user gehören zusammen, alle punkte1 gehören zusammen, alle punkte2 gehören zusammen. Das geht zwar auch ...aber wozu?

Bau Dir in jedem Schleifendurchlauf ein Feld (user=>xyz, punkte1=123, punkte2=>456) zusammen und hänge dieses Feld an $array an.


Wenn Du die Daten aus einer Datenbank erhälst, lass dort schon die Sortierung vornehmen. Vermutlich kannst Du Dir dann das gesamte Feld sparen.
 
Alt 21.07.2006, 13:06  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Ich würd in dem Zusammenhang noch assoziative Arrays empfehlen.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 21.07.2006, 13:21  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von KingCrunch
Ich würd in dem Zusammenhang noch assoziative Arrays empfehlen.
Was ist array(user=>xyz, ...) denn sonst?
 
Alt 21.07.2006, 13:24  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von Bruchpilot
Zitat:
Zitat von KingCrunch
Ich würd in dem Zusammenhang noch assoziative Arrays empfehlen.
Was ist array(user=>xyz, ...) denn sonst?
Stimmt scho, dachte mir das aber etwas anders
PHP-Code:
$array = array ("Horst" => array ("punkte1" => 1"punkte2" => 2), "Kurt" => array ("punkte1" => 1"punkte2" => 2)); 
Wenn ich dein Beispiel richtig verstanden habe, hast du dann ein indiziertes array in dem sich ein assoziatives array befindet, oder?
KingCrunch ist offline  
Alt 21.07.2006, 13:27  
Gast
 
Beiträge: n/a
Standard

Jo, und wenn die Datensätze aus der Datenbank kommen und sequentiell abgearbeitet werden sollen, finde ich das auch meistens eine gute Idee.
Nur zum Sortieren eh, aber da ist wie gesagt ja die ganze Prozedur überflüssig.
 
 


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 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
Array sortieren PHP Tipps 2005 7 15.05.2005 02:14
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
indiziertes array zu assoziative arrays, php array zusammenhänge, sortieren bezug zu verlieren, php sortieren ohne neue, arrays zusammenhängen php, sortieren ohne bezug zu verlieren, array sortieren nach namen, sortieren ohne bezug nicht verlieren, php sort ohne keys zu verlieren

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